文档章节

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

python玩家
 python玩家
发布于 06/24 17:08
字数 1017
阅读 68
收藏 5

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

© 著作权归作者所有

共有 人打赏支持
python玩家
粉丝 11
博文 30
码字总数 27477
作品 0
太原
程序员
私信 提问
Python网络爬虫实战:根据天猫胸罩销售数据分析中国女性胸部大小分布

本文实现一个非常有趣的项目,这个项目是关于胸罩销售数据分析的。是网络爬虫和数据分析的综合应用项目。本项目会从天猫抓取胸罩销售数据,并将这些数据保存到SQLite数据库中,然后对数据进行...

银河使者
09/10
0
0
Python 从爬虫到数据分析(一)定义

1.什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字...

China丶小可
09/04
0
0
一个月入门Python爬虫,快速获取大规模数据

数据是创造和决策的原材料,高质量的数据都价值不菲。而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如: 豆瓣、知乎:爬取优质答案,筛选出各话题下热门内容,探索...

Python开发者
04/25
0
0
5.2 高富帅python-人工智能时代

小奈:其实你们写的代码好像有不同派系的? 大仁:你是说编程语言?我来介绍下吧,我们来看下GitHub(程序员同城交友、代码协作平台)的数据,看下各种编程语言 Pull Requst的数据, Javascr...

产品经理的技术课堂
05/11
0
0
Python3爬虫视频学习教程

大家好哈,现在呢静觅博客已经两年多啦,可能大家过来更多看到的是爬虫方面的博文,首先非常感谢大家的支持,希望我的博文对大家有帮助! 最近,主要的任务就是开发性感美女图片大全,使用p...

yangjiyue0520
2017/11/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JeeSite 4.x 树形结构的表设计和用法

有些同仁对于 JeeSite 4 中的树表设计不太了解,本应简单的方法就可实现,却写了很多复杂的语句和代码,所以有了这篇文章。 在 JeeSite 4 中的树表设计我还是相对满意的,这种设计比较容易理...

ThinkGem
25分钟前
15
0
0022-如何永久删除Kafka的Topic

1.问题描述 使用kafka-topics --delete命令删除topic时并没有真正的删除,而是把topic标记为:“marked for deletion”,导致重新创建相同名称的Topic时报错“already exists”。 2.问题复现...

Hadoop实操
28分钟前
1
0
技术工坊|区块链中的p2p网络(上海)

区块链是一个去中心化的系统,每个节点分布在全球各地,那么节点之间是如何自发地组成网络,又如何进行通信的?区块链中的p2p网络算法与bt下载中的p2p网络有什么区别?11月28日,第29期技术工...

HiBlock
33分钟前
2
0
MySQL性能优化之char、varchar、text的区别

在存储字符串时, 可以使用char、varchar或者text类型, 那么具体使用场景呢? 参考下面这个表结构: 1、 char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等定。 ...

hansonwong
36分钟前
2
0
并发编程系列:4大并发工具类的功能、原理、以及应用场景

一:并发工具包 1.并发工具类 提供了比synchronized更加高级的各种同步结构:包括CountDownLatch、CyclicBarrier、Semaphore等,可以实现更加丰富的多线程操作。 2.并发容器 提供各种线程安全...

游人未归
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部