分享

用Python爬取天猫的追评并分析筛选后保存到Excel

 昵称16619343 2019-01-24

今天我们就用python来抓取商品的评论进行分析和筛选

首先,我们随便打开一个天猫商品网页,点击累计评价,按F12审查元素(我用是的Chrome浏览器),点击Network,再点击 JS,这个时候我们点击追评就会跳出来一个链接,如下图

复制这个链接 https://rate.tmall.com/list_detail_rate.htm?itemId=522566798981&spuId=418424086&sellerId=1125378539&order=3&currentPage=1&append=1我们打开看看,初次评价(content),追加评价(rateContent),过了多少天追加的(day),其它信息就不一一列举了,大家自己分析分析

我们利用正则表达式获取到content 、rateContent、day的值

将评论数据进行筛选后写入表格

最终效果如图

贴入完整代码

import requests, re,openpyxl

urls = #评论链接的数组

urls_add = #追评链接的数组

全部评论的链接

url_ = 'https://rate.tmall.com/list_detail_rate.htm?itemId=522566798981&spuId=418424086&sellerId=1125378539&order=3&currentPage=%s'

追加评论的链接

url_add = url_+'&append=1'

pages = 10 #获取多少页全部评论

for i in range(1, pages):

urls.append(url_%i)

pages_add = 10 #获取多少页追评(天猫有时候会限制,爬不了太多)

for i in range(1, pages):

urls_add.append(url_add%i)

储存全部评论内容的数组

rate_content =

追评的数组

content_add =

多少天追加的数组

days_add =

循环抓取数据---全部评论

for url in urls:

content = requests.get(url).text

获取评论

rate_content.extend(re.findall(re.compile(''rateContent':'(.*?)','rateDate''),content))

循环抓取数据---追加评论

for url in urls_add:

content = requests.get(url).text

获取追加评论

content_add.extend(re.findall(re.compile(''content':'(.*?)','days''),content))

获取多少天后追加的评价

days_add.extend(re.findall(re.compile(''days':(d+),'),content))

将数据写入excel表格

wb = openpyxl.Workbook

sheet = wb.get_active_sheet

sheet.title = '全部评论' #设置默认sheet1的名称为‘全部评论’

wb.create_sheet(title = '追加评论') #创建一个追加评论的sheet

sheet_add = wb.get_sheet_by_name('追加评论') #获取这个sheet

全部评论要写入表格的内容

array =

追评要写入表格的内容(多少天追加,追加内容)

array_add =

全部评论

对评论进行一次筛选

for i in range(0, len(rate_content)):

少于10个字的删除,默认评论删除(大家可以自己修改条件)

if len(rate_content[i])> 10 and '此用户没有填写评论' not in rate_content[i]:

array.append(rate_content[i])

将数据写入表格中

for i in range(0, len(array)):

sheet.cell(row = i+1, column = 1).value= array[i]

追加评论

对评论进行一次筛选

for i in range(0, len(content_add)):

少于8个字的删除,当天追加的删除(大家可以自己修改条件)

if len(content_add[i]) > 8 and int(days_add[i]) > 0:

array_add[0].append(days_add[i])

array_add[1].append(content_add[i])

将数据写入表格中

for i in range(0,len(array_add)):

for j in range(0, len(array_add[i])):

sheet_add.cell(row = j+1, column = i+1).value= array_add[i][j]

wb.save('天猫商品评论.xlsx')

print('表格保存完毕!')

大家可以根据数据自己去写条件去筛选,以后看评论就不用一页一页的翻了,也要少看很多虚假评论!

关于淘宝上的评论也是一样的,就不是append了,是rateType(值为-1是差评,0是中评,1是好评,2是追评,3是带图评论,无值就是全部评论),大家自己去研究吧

好啦分享就到这里,更多python学习记得关注我们哦

注:python学习关注我们企鹅qun: 8393 83 765 各类入门学习资料免费分享哦!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多