主頁 > 知識庫 > Python爬蟲實戰(zhàn)之爬取京東商品數(shù)據(jù)并實實現(xiàn)數(shù)據(jù)可視化

Python爬蟲實戰(zhàn)之爬取京東商品數(shù)據(jù)并實實現(xiàn)數(shù)據(jù)可視化

熱門標(biāo)簽:朝陽手機外呼系統(tǒng) 小蘇云呼電話機器人 所得系統(tǒng)電梯怎樣主板設(shè)置外呼 市場上的電銷機器人 北瀚ai電銷機器人官網(wǎng)手機版 北京電銷外呼系統(tǒng)加盟 地圖標(biāo)注面積 儋州電話機器人 佛山400電話辦理

一、開發(fā)工具

Python版本:3.6.4

相關(guān)模塊:

DecryptLogin模塊;

argparse模塊;

以及一些python自帶的模塊。

二、環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

三、原理簡介

原理其實挺簡單的,首先,我們利用之前開源的DecryptLogin庫來實現(xiàn)一下微博的模擬登錄操作:

'''模擬登錄京東'''
@staticmethod
def login():
    lg = login.Login()
    infos_return, session = lg.jingdong()
    return session

然后寫幾行簡單的代碼來保存一下登錄后的會話,省得每次運行程序都要先模擬登錄京東:

if os.path.isfile('session.pkl'):
    print('[INFO]: 檢測到已有會話文件session.pkl, 將直接導(dǎo)入該文件...')
    self.session = pickle.load(open('session.pkl', 'rb'))
    self.session.headers.update({'Referer': ''})
else:
    self.session = JDGoodsCrawler.login()
    f = open('session.pkl', 'wb')
    pickle.dump(self.session, f)
    f.close()

接著去京東抓一波包,一樣的套路,有種屢試不爽的感覺:

看看請求這個接口需要提交的參數(shù):

我們可以簡單分析一下每個參數(shù)的含義:

area: 不用管,可以看作一個固定值
enc: 指定編碼, 可以看作固定值"utf-8"
keyword: 搜索的關(guān)鍵詞
adType: 不用管,可以看作一個固定值
page: 當(dāng)前的頁碼
ad_ids: 不用管,可以看作一個固定值
xtest: 不用管,可以看作一個固定值
_: 時間戳

也就是說我們需要提交的params的內(nèi)容大概是這樣子的:

params = {
            'area': '15',
            'enc': 'utf-8',
            'keyword': goods_name,
            'adType': '7',
            'page': str(page_count),
            'ad_ids': '291:19',
            'xtest': 'new_search',
            '_': str(int(time.time()*1000))
        }

構(gòu)造好需要提交的params之后,只需要利用登錄后的session去請求我們抓包得到的接口:

response = self.session.get(search_url, params=params)

然后從返回的數(shù)據(jù)里解析并提取我們需要的數(shù)據(jù)就可以啦:

response_json = response.json()
all_items = response_json.get('291', [])
for item in all_items:
    goods_infos_dict.update({len(goods_infos_dict)+1: 
                                {
                                    'image_url': item.get('image_url', ''),
                                    'price': item.get('pc_price', ''),
                                    'shop_name': item.get('shop_link', {}).get('shop_name', ''),
                                    'num_comments': item.get('comment_num', ''),
                                    'link_url': item.get('link_url', ''),
                                    'color': item.get('color', ''),
                                    'title': item.get('ad_title', ''),
                                    'self_run': item.get('self_run', ''),
                                    'good_rate': item.get('good_rate', '')
                                }
                            })

四、數(shù)據(jù)可視化

老規(guī)矩,可視化一波我們爬取到的數(shù)據(jù)唄。以我們爬取到的無人機商品數(shù)據(jù)為例。首先,我們來看看京東里賣無人機的自營店和非自營店比例吧:

咦,竟然是非自營店占多。我一直以為京東基本都是自營店,雖然我基本不用京東。真是個天大的誤解T_T。

接著,我們再來看看京東自己給的商品排名前10的那幾家店的商品評論數(shù)量唄:

對比一下評論最多的店鋪:

看來評論數(shù)量和京東給的商品排名并沒有直接聯(lián)系T_T,竟然沒有一家店是重復(fù)的。

再來看看無人機相關(guān)商品的價格分布唄:

到此這篇關(guān)于Python爬蟲實戰(zhàn)之爬取京東商品數(shù)據(jù)并實實現(xiàn)數(shù)據(jù)可視化的文章就介紹到這了,更多相關(guān)Python可視化京東商品數(shù)據(jù) 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 利用Python進行數(shù)據(jù)可視化的實例代碼
  • python數(shù)據(jù)可視化之matplotlib.pyplot基礎(chǔ)以及折線圖
  • 淺談哪個Python庫才最適合做數(shù)據(jù)可視化
  • python數(shù)據(jù)可視化plt庫實例詳解
  • 學(xué)會Python數(shù)據(jù)可視化必須嘗試這7個庫
  • Python中seaborn庫之countplot的數(shù)據(jù)可視化使用
  • python實現(xiàn)股票歷史數(shù)據(jù)可視化分析案例
  • Python數(shù)據(jù)可視化之基于pyecharts實現(xiàn)的地理圖表的繪制
  • Python數(shù)據(jù)可視化之用Matplotlib繪制常用圖形
  • Python數(shù)據(jù)可視化之繪制柱狀圖和條形圖
  • python用pyecharts實現(xiàn)地圖數(shù)據(jù)可視化
  • python數(shù)據(jù)可視化 – 利用Bokeh和Bottle.py在網(wǎng)頁上展示你的數(shù)據(jù)

標(biāo)簽:寧夏 龍巖 江蘇 酒泉 金融催收 商丘 云南 定西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python爬蟲實戰(zhàn)之爬取京東商品數(shù)據(jù)并實實現(xiàn)數(shù)據(jù)可視化》,本文關(guān)鍵詞  Python,爬蟲,實戰(zhàn),之爬,取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python爬蟲實戰(zhàn)之爬取京東商品數(shù)據(jù)并實實現(xiàn)數(shù)據(jù)可視化》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python爬蟲實戰(zhàn)之爬取京東商品數(shù)據(jù)并實實現(xiàn)數(shù)據(jù)可視化的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章