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爬虫,抓取淘宝商品评论内容

相关文章
|
1月前
|
数据采集 Web App开发 监控
高效爬取B站评论:Python爬虫的最佳实践
高效爬取B站评论:Python爬虫的最佳实践
|
7天前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
27天前
|
数据采集 JSON JavaScript
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
本文介绍了如何使用PHP模拟表单提交并结合代理IP技术抓取京东商品的实时名称和价格,特别是在电商大促期间的数据采集需求。通过cURL发送POST请求,设置User-Agent和Cookie,使用代理IP绕过限制,解析返回数据,展示了完整代码示例。
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
|
14天前
|
数据采集 Java Scala
淘宝图片爬虫:Scala与Curl的高效集成
淘宝图片爬虫:Scala与Curl的高效集成
|
22天前
|
API Python
利用python淘宝/天猫获得淘宝app商品详情原数据 API
要使用Python获取淘宝/天猫商品详情原数据,需先注册开放平台账号并实名认证,创建应用获取API权限。随后,根据API文档构建请求URL和参数,使用requests库发送请求,处理返回的商品详情数据。注意遵守平台使用规则。
|
28天前
|
数据采集 JavaScript 网络安全
为什么PHP爬虫抓取失败?解析cURL常见错误原因
豆瓣电影评分是电影市场的重要参考,通过网络爬虫技术可以高效采集评分数据,帮助电影制作和发行方优化策略。本文介绍使用PHP cURL库和代理IP技术抓取豆瓣电影评分的方法,解决反爬机制、网络设置和数据解析等问题,提供详细代码示例和优化建议。
为什么PHP爬虫抓取失败?解析cURL常见错误原因
|
1月前
|
存储 API 数据安全/隐私保护
Python开发淘宝详情API的深入探索
通过Python开发淘宝详情API,你可以高效地获取商品信息,为电商运营和市场分析提供强有力的数据支持。本文详细介绍了注册开发者账号、获取API密钥、构建请求、解析响应数据等步骤,并探讨了相关的注意事项和最佳实践。希望这些内容能够帮助你更好地理解和使用淘宝开放平台的API接口,实现你的业务需求。
38 1
|
1月前
|
数据采集 存储 数据可视化
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
|
1月前
|
数据采集 前端开发 JavaScript
除了网页标题,还能用爬虫抓取哪些信息?
爬虫技术可以抓取网页上的各种信息,包括文本、图片、视频、链接、结构化数据、用户信息、价格和库存、导航菜单、CSS和JavaScript、元数据、社交媒体信息、地图和位置信息、广告信息、日历和事件信息、评论和评分、API数据等。通过Python和BeautifulSoup等工具,可以轻松实现数据抓取。但在使用爬虫时,需遵守相关法律法规,尊重网站的版权和隐私政策,合理控制请求频率,确保数据的合法性和有效性。
|
1月前
|
数据采集 运维 JavaScript
淘宝反爬虫机制的主要手段有哪些?
淘宝的反爬虫机制包括用户身份识别与验证、请求特征分析、页面内容保护、浏览器指纹识别和蜜罐技术。通过User-Agent识别、Cookie验证、账号异常检测、请求频率限制、动态页面生成、验证码机制等手段,有效防止爬虫非法抓取数据。