最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年06月06日 16:38:33   作者:weixin_43649691  
今天再帶大家簡單爬一波京東的商品數(shù)據(jù)唄,廢話不多說,文中有非常詳細(xì)的代碼示例,需要的朋友可以參考下

一、開發(fā)工具

Python版本:3.6.4

相關(guān)模塊:

DecryptLogin模塊;

argparse模塊;

以及一些python自帶的模塊。

二、環(huán)境搭建

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

三、原理簡介

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

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

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

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()

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

圖片

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

圖片

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

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

也就是說我們需要提交的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ù)唄。以我們爬取到的無人機(jī)商品數(shù)據(jù)為例。首先,我們來看看京東里賣無人機(jī)的自營店和非自營店比例吧:

圖片

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

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

圖片

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

圖片

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

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

圖片

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

相關(guān)文章

  • Python實(shí)現(xiàn)修改Excel文件的元數(shù)據(jù)

    Python實(shí)現(xiàn)修改Excel文件的元數(shù)據(jù)

    這篇文章將通過使用Python、Openpyxl模塊以及wxPython庫,實(shí)現(xiàn)創(chuàng)建一個(gè)GUI界面來輸入元數(shù)據(jù),然后將這些元數(shù)據(jù)與Excel文件一起保存,感興趣的可以了解一下
    2023-04-04
  • Python爬蟲番外篇之Cookie和Session詳解

    Python爬蟲番外篇之Cookie和Session詳解

    這篇文章主要介紹了Python爬蟲番外篇之Cookie和Session詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • python?包之?multiprocessing?多進(jìn)程

    python?包之?multiprocessing?多進(jìn)程

    這篇文章主要介紹了python?包之?multiprocessing?多進(jìn)程,首先創(chuàng)建一個(gè)進(jìn)程。實(shí)例化?Process?類創(chuàng)建一個(gè)進(jìn)程對象、然后調(diào)用它的?start?方法即可生成一個(gè)子進(jìn)程,下文更多相關(guān)資料,需要的朋友可以參考一下
    2022-04-04
  • python 正則表達(dá)式的使用

    python 正則表達(dá)式的使用

    這篇文章主要介紹了python 正則表達(dá)式的使用,Python 中正則表達(dá)式應(yīng)用非常廣泛,如數(shù)據(jù)挖掘、數(shù)據(jù)分析、網(wǎng)絡(luò)爬蟲、輸入有效性驗(yàn)證等,Python 也提供了利用正則表達(dá)式實(shí)現(xiàn)文本的匹配、查找和替換等操作的 re 模塊,下面和小編一起進(jìn)入文章了解具體內(nèi)容吧
    2021-10-10
  • Python機(jī)器學(xué)習(xí)之決策樹

    Python機(jī)器學(xué)習(xí)之決策樹

    這篇文章主要介紹了Python機(jī)器學(xué)習(xí)之決策樹,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 使用Python將Exception異常錯(cuò)誤堆棧信息寫入日志文件

    使用Python將Exception異常錯(cuò)誤堆棧信息寫入日志文件

    這篇文章主要介紹了使用Python將Exception異常錯(cuò)誤堆棧信息寫入日志文件,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python處理數(shù)據(jù)之匹配兩個(gè)Excel文件數(shù)據(jù)的實(shí)現(xiàn)方法

    Python處理數(shù)據(jù)之匹配兩個(gè)Excel文件數(shù)據(jù)的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Python處理數(shù)據(jù)之匹配兩個(gè)Excel文件數(shù)據(jù)的實(shí)現(xiàn)方法,可以使用Python的Pandas庫來實(shí)現(xiàn)兩層循環(huán)匹配兩個(gè)Excel文件,需要的朋友可以參考下
    2023-09-09
  • python中join與os.path.join()函數(shù)實(shí)例詳解

    python中join與os.path.join()函數(shù)實(shí)例詳解

    os.path.join()函數(shù)用于路徑拼接文件路徑,下面這篇文章主要給大家介紹了關(guān)于python中join與os.path.join()函數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • PyTorch?池化層詳解及作用介紹

    PyTorch?池化層詳解及作用介紹

    池化層是CNN中關(guān)鍵組件,主要功能包括降維、特征提取、抑制噪聲和防止過擬合,常見類型有最大池化和平均池化,全局池化則用于簡化模型結(jié)構(gòu)和提高泛化能力,本文詳細(xì)介紹了池化層的作用、種類和實(shí)現(xiàn),以及與卷積層的區(qū)別
    2024-09-09
  • python自動化測試selenium核心技術(shù)三種等待方式詳解

    python自動化測試selenium核心技術(shù)三種等待方式詳解

    這篇文章主要為大家介紹了python自動化測試selenium的核心技術(shù)三種等待方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11

最新評論

南昌县| 新竹县| 苍南县| 长乐市| 曲沃县| 莱西市| 博客| 湖州市| 剑河县| 辽源市| 新宁县| 康乐县| 当阳市| 德昌县| 鄂尔多斯市| 司法| 黄骅市| 池州市| 沽源县| 陆川县| 新乐市| 双峰县| 泰州市| 柞水县| 屯昌县| 霍州市| 云阳县| 徐汇区| 阆中市| 抚宁县| 渑池县| 吉隆县| 乌恰县| 长兴县| 布拖县| 江源县| 西平县| 北碚区| 福海县| 澎湖县| 山东省|