Python爬取京东笔记本电脑,来看看那个牌子最棒
生活随笔
收集整理的這篇文章主要介紹了
Python爬取京东笔记本电脑,来看看那个牌子最棒
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
@圖片自制by小si
一、前言
二、知識要求三、過程分析1.觀察主頁面和每個電腦界面的網址2.尋找每個電腦的id3.找到存放電腦的價格和評論數的信息4.爬取信息的思路四、urllib模塊爬取京東筆記本電腦的數據、并對其做一個可視化實戰五、可視化結果1.運行結果2.可視化結果
//本文作者
王豪:行路難,多歧路,今安在,埋頭苦改bug會有時,直到bug改完才吃飯。
//閱讀文本大概需要 5 分鐘。
一、前言
作為一個程序員,筆記本電腦是必不可少的,我這里對京東上的前2頁的筆記本的好評論數,價格,店鋪等信息進行爬取,并做一個可視化,根據可視化的圖,大家可以清晰的做出預測,方便大家購買劃算的電腦。當然,我這里前2頁的數據是遠遠不夠的,如果大家想要預測的更精準一些,可以改一下數字,獲取更多頁面的數據,這樣,預測結果會更精確。
二、知識要求
會抓包分析
三、過程分析
1.觀察主頁面和每個電腦界面的網址
(1)觀察具體界面的網址,我們可以猜測,具體每個界面都有一個id,通過構造網址https://item.jd.com/【id】.html,就可以得到具體每個界面的網址。
(2)觀察主界面的網址,我們發現page=的屬性值就是具體的頁碼數,通過構造page的值,我們可以實現自動翻頁爬取信息。對主界面網址一些不必要的信息剔除,最后得到主界面翻頁的網址規律https://list.jd.com/list.html?cat=670,671,672&page=【頁碼數】
同過以上的分析,我們可以看見,獲取信息的關鍵就是每個電腦的具體id代號,接下來,我們的任務就是要找到每個電腦的id。
2.尋找每個電腦的id
(1)首先,看看網頁源代碼中是否會有每個電腦的id
在這里插入圖片描述我們再進入到剛剛搜索的哪個電腦名稱的具體界面,發現,確實是他的id
(3)根據id附件的一些屬性值,唯一確定所有電腦id
根據class="gl-i-wrap j-sku-item"屬性值定位,發現,唯一確定60個id,數了一下界面上的電腦,一頁確實是60個電腦,所以,電腦的id獲取到了。
(4)同理,根據<div class="p-name">屬性值獲取具體每個電腦的網址和電腦名,這樣我們連具體每個電腦的網址都不用構造了,直接可以獲取。
3.找到存放電腦的價格和評論數的信息
(1)通過到網頁源代碼中去找,發現完全找不到,所以,我猜測這些信息隱藏在js包中。fiddler抓包工具,進行抓包分析。
可以看見,這些信息確實是在js包里面,復制該js包的網址,然后分析。
(3)分析有如下結論:
這里,我也抓到了存放店鋪的js包,但是,這個js包的地址每次有一部分是隨機生成的,所以,獲取不到每臺的電腦的店鋪名。但是,我有每臺電腦的具體網址,而該界面里面有該電腦的店鋪,所以,我可以訪問每臺電腦的具體界面去獲取到店鋪消息。
4.爬取信息的思路
(1)先爬每頁的信息
四、urllib模塊爬取京東筆記本電腦的數據、并對其做一個可視化實戰
爬蟲文件:(建議大家邊看邊敲一遍,更加有利于學習)
五、可視化結果
1.運行結果
2.可視化結果
評論數條形統計圖:
店鋪扇形統計圖:
可以看見聯想的電腦買的最好。
如果你覺得文章還不錯,請大家點贊分享下。你的肯定是我最大的鼓勵和支持。
總結
以上是生活随笔為你收集整理的Python爬取京东笔记本电脑,来看看那个牌子最棒的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 厉害了!不用一行代码,手把手教你制作漂亮
- 下一篇: 别人的20几岁 vs 互联网人的20几岁