「爬蟲」18抓包自動爬取京東網(wǎng)商品信息(采用crawl模板)

1.項目需求:采用crawl模板自動爬取京東網(wǎng)商品信息。

2.項目分析

(1)打開京東主頁(http://www.jd.com/)源碼,查看某商品鏈接是否存在于主頁源碼中。若存在,下一步利用xpath表達式提??;若不存在,下一步需要進行抓包分析。

京東主頁

(2)通過查看發(fā)現(xiàn),主頁商品鏈接存在于主頁源碼中,所以不需要進行抓包分析,直接提取。

主頁部分源碼

(3)點進某一類商品(http://shouji.jd.com/),對第二層頁面源碼進行分析,查看商品類別鏈接是否存在于頁面源碼中。

手機商品頁面

(4)通過查看發(fā)現(xiàn),某類商品類別鏈接存在于頁面源碼中。

手機商品頁面源碼

(5)點進某類商品的某一種,查看某個商品的鏈接是否存在于這層頁面的源碼中。

華為手機頁面

(6)通過查看發(fā)現(xiàn)這一層頁面源碼包括該商品的鏈接。

華為手機頁面部分源碼

(7)下一層進入該商品頁面https://item.jd.com/100005185603.html

華為Mate30手機頁面

(8)分析所要爬取的信息是否在商品頁面源碼中,不存在則需要抓包分析。

3.項目實施步驟

(1)創(chuàng)建爬蟲項目和文件。

scrapy startproject jingdong

scrapy genspider -t crawl jd jd.com

(2)獲取商品鏈接:https://item.jd.com/100005185603.html

(3)通過商品鏈接、抓包結(jié)果分析所要提取商品的ID、標題、店鋪名、店鋪鏈接、價格的提取規(guī)則。

①商品ID:

thisurl = response.url

pat ='item.jd.com/(.*?).html'

thisid = re.compile(pat).findall(thisurl)

②商品標題:

title = response.xpath('/html/head/title/text()').extract()

③商品的店鋪名:

shop = response.xpath('//div[@class="name"]/a/@title').extract()

④商品店鋪鏈接:

shoplink = response.xpath('//div[@class="name"]/a/@href').extract()

⑤商品價格(抓包分析):

priceurl ='https://p.3.cn/prices/mgets?callback=jQuery&skuIds=J_'+str(thisid)

pricedata = urllib.request.urlopen(priceurl).read().decode('utf-8', 'ignore')

pricepat ='"p":"(.*?)"'

price = re.compile(pricepat).findall(pricedata)

(4)創(chuàng)建jingdong數(shù)據(jù)庫和product數(shù)據(jù)表。

(5)編寫jd.py文件。

jingdong/spiders/jd.py頭文件
jingdong/spiders/jd.py

(6)運行爬蟲。

scrapy crawl jd --nolog

(7)查看結(jié)果。

cmd中結(jié)果查看
數(shù)據(jù)庫中結(jié)果查看
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1. 概述 本文主要介紹網(wǎng)絡爬蟲,采用的實現(xiàn)語言為Python,目的在于闡述網(wǎng)絡爬蟲的原理和實現(xiàn),并且對目前常見的...
    Lemon_Home閱讀 3,106評論 0 21
  • Scrapy終端是一個交互終端,我們可以在未啟動spider的情況下嘗試及調(diào)試代碼,也可以用來測試XPath或CS...
    嗨學編程閱讀 478評論 0 0
  • 這兩天摸索了下scrapy,剛看文檔的時候覺得有點生無可戀,scrapy框架個人還是覺得比較難懂的,需要學習的地方...
    Treehl閱讀 5,843評論 7 10
  • 這是皖南的一座小城。一個50多萬人口的縣城。 我在這里待了七八年了,發(fā)生過太多的故事。甚至于我騎車出去經(jīng)過一個路口...
    七月少女233閱讀 239評論 0 0
  • 看到很多文章都在說迷茫,但一看年紀,基本上都是20出頭的,像我這種30大幾快奔40的還迷茫,是不是很丟臉。 當初很...
    木可2019閱讀 201評論 0 0

友情鏈接更多精彩內(nèi)容