爬取淘宝商品评论信息
近期学期需求,需要获取部分商品的评价信息。在此记录本次学习的过程。
找到URL
由于这是一个动态网页,因此需要找到评论实际的URL
首先进入你需要的商品的页面,按F12进入开发者工具
点击累计评价,在Preview中找到评价信息
在Header中找到相应的URL和Request Header
完整代码
import requests
import json
import csv
import time
#这些信息可以在Request Header中找到
header = {
'Connection': '你的Connection',
'referer': '你的refererr',
"cookie":'你的Cookie'
}
for i in range(1,评论页数):
url ='上面找到的url'
# 需要将currentPage=1修改成currentPage=‘+str(i)
# 将响应内容的文本取出
html = requests.get(base_url, headers=header).text
json_text = re.search('^[^(]*?\((.*)\)[^)]*$', html).group(1)
# print(json_text)
text = json.loads(json_text)
# print(text)
try:
for p in range(0, len(text['rateDetail']['rateList'])):
with open(r'./rateData.csv','a',encoding = 'gb18030',newline='') as csvfile:
writer = csv.writer(csvfile)
# 写进文件的数据根据需求自己改变就行
output = [text["rateDetail"]["rateList"][p]['rateContent']]
writer.writerow(output)
except BaseException:
continue
#防止过于频繁,设置休眠时间
time.sleep(10)
print('爬取完成!')
在整个学习爬取的过程中,出现爬取很多次失败的情况。出现爬取失败时,第一,确认自己是否已经登录账号;第二,有可能你的Cookie不行,换其他试试;第三,注意爬取频率。