Python爬虫,抓取淘宝商品评论内容!

简介: 作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫!思路我们就拿“德州扒鸡”做为参考目标吧~!如果想抓其他商...

作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫!

Python爬虫,抓取淘宝商品评论内容

思路

我们就拿“德州扒鸡”做为参考目标吧~!如果想抓其他商品的话,自行更换目标即可!打开淘宝,搜索目标,随便点击一个商品进入,在点击累计评论,打开F12开发者工具——网络,先清除现有的所有内容,然后点击下一页评论,在弹出的内容中查找文件中开头为list_detail_rate.htm的html类型,如下图所示

Python爬虫,抓取淘宝商品评论内容

这个html中就含有我们需要的内容,左键点击然后选择响应,就可以看到具体响应内容了!

Python爬虫,抓取淘宝商品评论内容

这里面是一大串包含我们需要的内容在内的源代码,如果大家有兴趣可以提取内容做成json数据,而我们这里只需要评论数据,所以,用正则匹配评论部分就可以了!

开始写代码

具体过程就不赘述了,新建一个函数,接受店铺ID(唯一)作为参数,做一个无限循环来翻页,并以评论时间为判断是否重复,如果重复则跳出循环(return可以直接跳出循环),整个函数部分代码如下

# -*- coding=utf-8 -*-
#qq群:542110741

import requests
import re
import time

def get_comment(itemid):
    i = 1#开始页码
    d = []#构建一个列表用于判断是否继续循环
    lis = []#放置抓取到的内容
    while i:
        #构建循环用的url
        url = 'https://rate.tmall.com/list_detail_rate.htm?itemId={}&order=3&sellerId=1914459560&currentPage={}'.format(itemid,str(i))
        html = requests.get(url).text#获取相关内容的源代码
        pl = re.findall(r'"rateContent":"(.*?)","rateDate"',html)#评论抓取
        dat = re.findall(r'"rateDate":"(.*?)","reply"',html)#评论时间抓取
        if dat == d or pl ==[]:#判断是否重复或者是否存在评论
            print('==============================')
            return lis #跳出循环并返回值
        else:
            try:
                d = dat#没有重复则将评论时间赋值给d,用于下次循环判断
            except IndexError as e:
                continue#出现该错误则跳出循环,进行下一次
        print("第%d页评论"%i,pl)#打印评论内容
        lis.append(pl)
        i += 1
        time.sleep(2)#访问间隔

加入try是因为代码一直在抽风的跳出index错误,后续还可以改进!

作为一个爬虫爱好者,必然要加深抓取的广度的,试着将整个页面的店铺ID抓取出来!这次简单,直接抓到json数据,然后用正则匹配,返回列表,因为时间有限,没有研究出url翻页的依据,就只抓取了一页!

def get_id(kw='德州扒鸡'):
    '''
    只抓了首页44家店铺的,没有抓后面页面,后续需改进
    '''
    url = 'https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&' \
          '_ksTS=1529811793535_1018&callback=jsonp1019&q={}&imgfile=&js=1&' \
          'stats_click=search_radio_all:1&initiative_id=staobaoz_20180624&' \
          'ie=utf8&bcoffset=4&p4ppushleft=1,48'.format(kw)
    html = requests.get(url).text
    id_list = re.findall(r',"auctionNids":\[(.*?)\],"ifDoufuAuction"',html,re.S)[0]
    return id_list.replace('"','').split(',')

然后开始写主函数,保存到文档!运行结果如下

Python爬虫,抓取淘宝商品评论内容

Python爬虫,抓取淘宝商品评论内容

emmm,看评论是可以入手的!哈哈!

Python爬虫,抓取淘宝商品评论内容

最后

想说几点,一个是自己写个小爬虫玩玩可以,做分析也行,但是务必切记不要外传扩散,很容易进坑!二是淘宝的反爬其实也不是很难,比如上面的爬虫,并没有做反爬措施,大家可以拿这个来练练手,记得加入sleep就可以,不要给对方服务器造成压力为最好!

代码写的不好,各路高手请见谅!欢迎大家来一起交流、学习!

Python爬虫,抓取淘宝商品评论内容

相关文章
|
8月前
|
数据采集 Web App开发 数据安全/隐私保护
实战:Python爬虫如何模拟登录与维持会话状态
实战:Python爬虫如何模拟登录与维持会话状态
|
8月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
8月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
8月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
|
8月前
|
数据采集 存储 JSON
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
|
8月前
|
数据采集 存储 JavaScript
解析Python爬虫中的Cookies和Session管理
Cookies与Session是Python爬虫中实现状态保持的核心。Cookies由服务器发送、客户端存储,用于标识用户;Session则通过唯一ID在服务端记录会话信息。二者协同实现登录模拟与数据持久化。
|
数据采集 测试技术 C++
无headers爬虫 vs 带headers爬虫:Python性能对比
无headers爬虫 vs 带headers爬虫:Python性能对比
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
683 6
|
数据采集 存储 监控
Python 原生爬虫教程:网络爬虫的基本概念和认知
网络爬虫是一种自动抓取互联网信息的程序,广泛应用于搜索引擎、数据采集、新闻聚合和价格监控等领域。其工作流程包括 URL 调度、HTTP 请求、页面下载、解析、数据存储及新 URL 发现。Python 因其丰富的库(如 requests、BeautifulSoup、Scrapy)和简洁语法成为爬虫开发的首选语言。然而,在使用爬虫时需注意法律与道德问题,例如遵守 robots.txt 规则、控制请求频率以及合法使用数据,以确保爬虫技术健康有序发展。
1579 31

推荐镜像

更多