Python爬虫,抓取淘宝商品评论内容!
作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫!
思路
我们就拿“德州扒鸡”做为参考目标吧~!如果想抓其他商品的话,自行更换目标即可!打开淘宝,搜索目标,随便点击一个商品进入,在点击累计评论,打开F12开发者工具——网络,先清除现有的所有内容,然后点击下一页评论,在弹出的内容中查找文件中开头为list_detail_rate.htm的html类型,如下图所示
这个html中就含有我们需要的内容,左键点击然后选择响应,就可以看到具体响应内容了!
这里面是一大串包含我们需要的内容在内的源代码,如果大家有兴趣可以提取内容做成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¤tPage={}'.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(',')
然后开始写主函数,保存到文档!运行结果如下
emmm,看评论是可以入手的!哈哈!
最后
想说几点,一个是自己写个小爬虫玩玩可以,做分析也行,但是务必切记不要外传扩散,很容易进坑!二是淘宝的反爬其实也不是很难,比如上面的爬虫,并没有做反爬措施,大家可以拿这个来练练手,记得加入sleep就可以,不要给对方服务器造成压力为最好!
代码写的不好,各路高手请见谅!欢迎大家来一起交流、学习!
Python爬虫,抓取淘宝商品评论内容!的更多相关文章
- python 爬虫抓取心得
quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quo ...
- Python爬虫----抓取豆瓣电影Top250
有了上次利用python爬虫抓取糗事百科的经验,这次自己动手写了个爬虫抓取豆瓣电影Top250的简要信息. 1.观察url 首先观察一下网址的结构 http://movie.douban.com/to ...
- Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储
Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...
- Python实例之抓取淘宝商品数据(json型数据)并保存为TXT
本实例实现了抓取淘宝网中以‘python’为关键字的搜索结果,经详细查看数据存储于html文档中的js脚本中,数据类型为JSON 具体实现代码如下: import requests import re ...
- python(27) 抓取淘宝买家秀
selenium 是Web应用测试工具,可以利用selenium和python,以及chromedriver等工具实现一些动态加密网站的抓取.本文利用这些工具抓取淘宝内衣评价买家秀图片. 准备工作 下 ...
- python爬虫抓取哈尔滨天气信息(静态爬虫)
python 爬虫 爬取哈尔滨天气信息 - http://www.weather.com.cn/weather/101050101.shtml 环境: windows7 python3.4(pip i ...
- Python爬虫 -- 抓取电影天堂8分以上电影
看了几天的python语法,还是应该写个东西练练手.刚好假期里面看电影,找不到很好的影片,于是有个想法,何不搞个爬虫把电影天堂里面8分以上的电影爬出来.做完花了两三个小时,撸了这么一个程序.反正蛮简单 ...
- 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程
项目内容 本案例选择>> 商品类目:沙发: 数量:共100页 4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. ...
- Python 爬虫: 抓取花瓣网图片
接触Python也好长时间了,一直没什么机会使用,没有机会那就自己创造机会!呐,就先从爬虫开始吧,抓点美女图片下来. 废话不多说了,讲讲我是怎么做的. 1. 分析网站 想要下载图片,只要知道图片的地址 ...
随机推荐
- STS——BootDash的报错及解决
首先先吐槽下自己,昨晚查了两小时bug,原因在于模板引擎thymeleaf编写时, 调用th:src属性时,其中的@{}表达式,花括号忘记括回来了. 这里给我的教训就是,写代码细致一点,检查的时候优 ...
- Hadoop(七):自定义输入输出格式
MR输入格式概述 数据输入格式 InputFormat. 用于描述MR作业的数据输入规范. 输入格式在MR框架中的作用: 文件进行分块(split),1个块就是1个Mapper任务. 从输入分块中将数 ...
- 十年测试老鸟告诉你--自动化测试选JAVA还是选Python--写给还在迷茫中的朋友
一.前言 Python和Java哪个更适合做自动化测试?这是很多测试工程师从功能跨入自动化纠结的问题,今天测试老鸟来带大家详细分析一下!写给还在迷茫中的朋友! 首先可以确认的是提出这个问题的肯定是一个 ...
- 29.3 ArrayList、List、LinkedList(链表)优缺点
ArrayList.List特点:查询快.增删慢 链表特点:查询慢,增删快 案例 package day29_collection集合体系; import java.util.ArrayList; i ...
- std::string::insert函数
string& insert (size_t pos, const string& str); string& insert (size_t pos, const string ...
- Flex Socket与Java通信实例说明(转)
Flex Socket与Java通信实例说明(转) 这两天一直在flex的Socket ,现在终于懂了很多.由浅到深一步一步深入.慢慢体会实例,虽然实例都是在网上找的,但也经过了我的测试.我比较喜欢注 ...
- 造轮子:实现一个简易的 Spring IoC 容器
作者:DeppWang.原文地址 我通过实现一个简易的 Spring IoC 容器,算是入门了 Spring 框架.本文是对实现过程的一个总结提炼,需要配合源码阅读,源码地址. 结合本文和源码,你应该 ...
- Hadoop学习笔记(2)-HDFS的基本操作(Shell命令)
在这里我给大家继续分享一些关于HDFS分布式文件的经验哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序设计.在前面我已经写了关于如何去搭建hadoop这样一个大数据平 ...
- delphi中DateTimePicker控件同时输入日期和时间
将DateTimePicker的Format属性中加入日期格式设成 'yyyy-MM-dd HH:mm',注意大小写 , 将kind设置为dtkTime即可,可以在每次Form onShow时将Dat ...
- Alpha Release Note 12/15/2015
内容提要: ******Personal Photo Experience可供您存放所有的私人照片,系统会自动整理内容,您可以借助搜索功能快速找到所需图片,同时过滤重复图片和低质量图片,给您全新的搜索 ...