第二十二篇,爬虫爬取亚马逊商品评论及评分用可视化方式显示 |
您所在的位置:网站首页 › 卖家评价内容怎么写 › 第二十二篇,爬虫爬取亚马逊商品评论及评分用可视化方式显示 |
首先先观察网页:
先获取十页评论看看能不能获取的到,别忘了导入我们所需要的框架: import requests from lxml import etree import re import matplotlib.pylab as plt headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0', 'Cookie': 'x-wl-uid=1DVw4k4T/jAduWIfwW2jvf029Ha4Bgv/AJGjP/yRfJTdq26dr7oDdeEBdb6zOPUl0ByfsaKJ3GUY=; session-id-time=2082729601l; session-id=457-7649276-4174543; csm-hit=tb:DAHATSQRZZBWHWD4ZXYP+s-T61YJHRDEC6Y6S2VMTVZ|1573355007668&t:1573355007668&adb:adblk_no; ubid-acbcn=459-2457809-1906210; session-token="4sZGQQPKw9CJUOzJFLsTdS3FtlpqIyp0hyvhXL6RMOchbDf7p7YLDEL90YFps2Hl80fBT6uPmzQ00meCLYxsrjuoabX3+kz7OB+CLw8GaAYZB8J9oBBcJLBUsGs6LLm/EHQht5Tm0IpOKR0hz0GGtATgcpJXDfRoEdvNol+CUc3mXOMA5KmEfFWstdV+KwyzSGrGW+DdrAftisgZMl2stffIdhcOLh53B4tJwsR5awKqPrOqZF8uJg=="; lc-acbcn=zh_CN; i18n-prefs=CNY' } #添加headers模拟浏览器防止被发现 def parge_page(url): response = requests.get(url=url,headers=headers) #print(response) 测试一下看看也没有请求到网页 def main(): for x in range(10): #获取100条评论,一页10条 url = 'https://www.amazon.cn/product-reviews/B074MFRPWL/?pageNumber='+ str(x) #网站:TIGER 虎牌 水壶 直饮水杯 迷你不锈钢水杯 #url = 'https://www.amazon.cn/product-reviews/B01N5WPXA7/?pageNumber=' +str(x) #网站:Tiger 600 毫升水瓶带直饮水杯,2 WAY 不锈钢水壶配袋 parge_page(url) if __name__ == '__main__': main() #调用main方法之后查看网页源代码,使用xpath获取到我们需要的数据,再用matplotlib将数据可视化出来,最终代码及注释: import requests from lxml import etree import re import matplotlib.pylab as plt headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0', 'Cookie': 'x-wl-uid=1DVw4k4T/jAduWIfwW2jvf029Ha4Bgv/AJGjP/yRfJTdq26dr7oDdeEBdb6zOPUl0ByfsaKJ3GUY=; session-id-time=2082729601l; session-id=457-7649276-4174543; csm-hit=tb:DAHATSQRZZBWHWD4ZXYP+s-T61YJHRDEC6Y6S2VMTVZ|1573355007668&t:1573355007668&adb:adblk_no; ubid-acbcn=459-2457809-1906210; session-token="4sZGQQPKw9CJUOzJFLsTdS3FtlpqIyp0hyvhXL6RMOchbDf7p7YLDEL90YFps2Hl80fBT6uPmzQ00meCLYxsrjuoabX3+kz7OB+CLw8GaAYZB8J9oBBcJLBUsGs6LLm/EHQht5Tm0IpOKR0hz0GGtATgcpJXDfRoEdvNol+CUc3mXOMA5KmEfFWstdV+KwyzSGrGW+DdrAftisgZMl2stffIdhcOLh53B4tJwsR5awKqPrOqZF8uJg=="; lc-acbcn=zh_CN; i18n-prefs=CNY' } #添加headers模拟浏览器防止被发现 hao = [] zhong = [] cha = [] #获取到的评论数存入里面 def parge_page(url): response = requests.get(url=url,headers=headers) #print(response) #测试一下看看也没有请求到网页 text = response.text html = etree.HTML(text) quan = html.xpath('//div[@id="cm_cr-review_list"]/div') #获取到每个人的评论 for i in quan: pinfen1 = i.xpath('.//span[@class="a-icon-alt"]/text()') #获取到每个人的评分几颗星 pinlun = i.xpath('.//a[@data-hook="review-title"]/span/text()') #获取到每个人评论的字 #print(pinlun) for pinfen in pinfen1: #print(pinlun) a = re.sub('颗星,最多 5 颗星','',pinfen) #使用正则把后面不用的字符串替换为空,显得好看 #print(a) list = {'评论':pinlun,'评分': a} print(list) if a 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0', 'Cookie': 'x-wl-uid=1DVw4k4T/jAduWIfwW2jvf029Ha4Bgv/AJGjP/yRfJTdq26dr7oDdeEBdb6zOPUl0ByfsaKJ3GUY=; session-id-time=2082729601l; session-id=457-7649276-4174543; csm-hit=tb:DAHATSQRZZBWHWD4ZXYP+s-T61YJHRDEC6Y6S2VMTVZ|1573355007668&t:1573355007668&adb:adblk_no; ubid-acbcn=459-2457809-1906210; session-token="4sZGQQPKw9CJUOzJFLsTdS3FtlpqIyp0hyvhXL6RMOchbDf7p7YLDEL90YFps2Hl80fBT6uPmzQ00meCLYxsrjuoabX3+kz7OB+CLw8GaAYZB8J9oBBcJLBUsGs6LLm/EHQht5Tm0IpOKR0hz0GGtATgcpJXDfRoEdvNol+CUc3mXOMA5KmEfFWstdV+KwyzSGrGW+DdrAftisgZMl2stffIdhcOLh53B4tJwsR5awKqPrOqZF8uJg=="; lc-acbcn=zh_CN; i18n-prefs=CNY' }然后导入我们的request模块,没有就pip install模块名或者setting里面自行直接下载,导入代码:import requests 然后使用一个response来接收url与headers,因为我们观察到这个网页是一个get请求的方式所以我们的代码就是: response = requests.get(url=url,headers=headers) 直接:print(response)看看相应是否成功输出: 表示已经成功了,因为我们要获取到100条评论,一页只有十条,很简单,网址中点击下一页找规律,发现就后面多了一个:?pageNumber=页数’,这里使用一个for循环:for x in range(10): #获取100条评论,一页10条 url = ‘https://www.amazon.cn/product-reviews/B074MFRPWL/?pageNumber=’+ str(x) 这样就可以获取到10页的网站。 第三步,爬取网页:
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |