溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

scrapy怎么追蹤python爬蟲的商品評價(jià)

發(fā)布時(shí)間:2020-11-23 15:53:47 來源:億速云 閱讀:140 作者:小新 欄目:編程語言

這篇文章主要介紹scrapy怎么追蹤python爬蟲的商品評價(jià),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)建一個(gè)測試的spider

scrapy genspider jdcomment01spider club.jd.com
scrapy list --查看一下

1.一些缺的數(shù)據(jù)信息探索

--人名

comment0 = response.xpath('//div[@id="comment-0"]')
print comment0.xpath('.//div[@class="item"]//div[@class="user"]//div[@class="u-name"]/text()').extract_first().replace("\r\n", '')

--獲取所有評價(jià)

一個(gè)商品的總的評價(jià)信息可以從這個(gè)URL獲取

https://club.jd.com/ProductPageService.aspx?method=GetCommentSummaryBySkuId&referenceId=1601991

 

返回的是個(gè)JSON字符串

{"SkuId":1601991,"ProductId":1601991,"Score1Count":115,"Score2Count":24,"Score3Count":77,"Score4Count":229,"Score5Count":3250,"ShowCount":311,"CommentCount":3695,"AverageScore":5,"GoodCount":3479,"GoodRate":0.942,"GoodRateShow":94,"GoodRateStyle":141,"GeneralCount":101,"GeneralRate":0.027,"GeneralRateShow":3,"GeneralRateStyle":4,"PoorCount":115,"PoorRate":0.031,"PoorRateShow":3,"PoorRateStyle":5}

具體有多少評論頁 = CommentCount/30

 其他的如Score1Count一星評論的有多少,AverageScore平均得分都很有用,下次再處理。

2.獲取所有評論數(shù)

在第一部分的基礎(chǔ)上修改讀取多少也即可,修改jdcomment01spider.py,代碼如下

# -*- coding: utf-8 -*-
import scrapy
from scrapy.spiders import Spider
from scrapy.selector import Selector
from tutorial.items import DmozItem
import urllib2
import math
import json
itemnum = '1601991'
commentpeypage = 30
class Jdcomment01spiderSpider(scrapy.Spider):
    name = "jdcomment01spider"
    allowed_domains = ["club.jd.com"]
    itemsummaryurl='http://club.jd.com/ProductPageService.aspx?method=GetCommentSummaryBySkuId&referenceId=' + itemnum
    itemsummaryresponse = urllib2.urlopen(url)
    itemsummaryjson_dict = json.loads(itemsummaryresponse.read())
    commentrange = int(math.ceil(itemsummaryjson_dict.get('CommentCount'))/commentpeypage)
 
    start_urls = []
    for i in range(commentrange):
        s_url = "http://club.jd.com/review/" + itemnum + "-" + str(i) + "-0.html/",
        start_urls.append(s_url)
 
    def parse(self, response):
        sel = Selector(response)
        sites = sel.xpath('//ul/li')
        items = []
        for i in range(0, commentpeypage):
            divs = response.xpath('//div[@id="' + str(i) + '"]')
            uid = divs.xpath('.//div[@class="item"]//div[@class="user"]//div[@class="u-name"]/text()').extract_first().replace("\r\n", '')
            for zz in divs.xpath('.//dl'):
                item = DmozItem()
                item['prodid'] = itemnum
                item['userid'] = 'userid'
                item['type'] = zz.xpath('.//dt/text()').extract_first().replace("\r\n", '')
                item['desc'] = zz.xpath('.//dd/text()').extract_first().replace("\r\n", '')
                items.append(item)
        return item

檢查結(jié)果

scrapy crawl jdcomment01spider -o items.json -t csv

以上是“scrapy怎么追蹤python爬蟲的商品評價(jià)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI