美文网首页大数据 爬虫Python AI Sqlpython入门基础学习
用Python爬取天猫的追评并分析筛选后保存到Excel

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

作者: 编程新视野 | 来源:发表于2019-01-28 14:26 被阅读8次

    现在天猫淘宝上面刷单的很多,我们如何去得到有效的评论来判断这款商品到底该不该买呢?

    今天我们就用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:696541369 各类入门学习资料免费分享哦!

    相关文章

      网友评论

        本文标题:用Python爬取天猫的追评并分析筛选后保存到Excel

        本文链接:https://www.haomeiwen.com/subject/zueajqtx.html