爬取淘宝商品评论——2020-8月
本文具有时效性,指不定哪天失效
时间:2020-8
网页分析
一般来说,请求的数据 会有几种可能:
1、很简单的html页面(静态网页),就直接requests就可以请求成功;
2、js渲染的页面 ,很常见,requests请求一堆js数据;
3、需要登录才能获取,登录后,把cookie 加入请求;
4、json数据
显然淘宝不是静态网页,直接打开某个商品(我们这里选择Nike旗舰店的一双鞋),选择评论页面,按F12进入调试页面页面,选择network,然后点击评论的下一页观察页面请求
放大看一下
显然评论数据就藏在list_detail开头的响应中,那我们就直接看标头(按照惯例,直接复制标题链接打开,并不能得到想要的信息,那就是还需要请求标头的信息):
一般来说,这么长的请求是比较难看的,通常需要多观察几页
重点在前面那部分,sellerid应该是商品id,currentpage是当前评论页,并且 &ua= 后面那一段长长的字符并不相同,或许可以把它去掉,待会代码试试。
再看看请求标头需要什么:
authority + path 就是上面的请求url,其他的language,encoding,每个网页基本都一样的,可加可不加。
我们需要的是cookie(记录客户端的用户信息,登录后会有),referer(告诉服务器该网页是从哪个页面链接过来的),user-agent(爬虫老朋友了,浏览器标识)
代码分析
开始写代码试试
import requestspage = 1 #最终代码改成for循环可以遍历下载path = 'https://rate.tmall.com/list_detail_rate.htm?itemId=612891862405&spuId=1532072041&sellerId=890482188&order=3¤tPage='
url = path + str(page) #原始链接加上页面headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.59 Safari/537.36 Edg/85.0.564.30',#referer随便填个淘宝网页应该都能用'referer': 'https://detail.tmall.com/item.htm?spm=a230r.1.14.80.675374f6O2Yqxg&id=612891862405&ns=1&abbucket=15','cookie': '复制你的cookie在这里'}
res = requests.get(url,headers = headers)
直接打印看看有没有获取成功:
可以看到数据是在的里面,虽然看起来乱七八糟。我们把里面的json提取出来就好:
import re
js_str = re.search('\{.*}',res.text)
js_str.group()
用josn加载会直观看出键值对:
import jsonjs_dict = json.loads(js_str.group())
js_dict
取出需要的属性(我这里只选择评论,商品属性,时间):
分析到这里已经足够了,接下来可以根据自己需求写代码:
最终代码:
import requests
import re
import json
import time
import pandas as pddef get_comments():for page in range(1,20):link = 'https://rate.tmall.com/list_detail_rate.htm?itemId=612891862405&spuId=1532072041&sellerId=890482188&order=3¤tPage='url = link + str(page) #原始链接加上页面数headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.59 Safari/537.36 Edg/85.0.564.30','referer': 'https://detail.tmall.com/item.htm?spm=a230r.1.14.80.675374f6O2Yqxg&id=612891862405&ns=1&abbucket=15','cookie': '复制你的cookie到这里'}res = requests.get(url,headers = headers)js_str = re.search('\{.*}',res.text)js_dict = json.loads(js_str.group())time.sleep(7)dict_content = {}rateContent = [] #评论auctionSku = [] #款式rateDate = [] #时间for i in range(len(js_dict['rateDetail']['rateList'])):rateContent.append(js_dict['rateDetail']['rateList'][i]['rateContent'])auctionSku.append([js_dict['rateDetail']['rateList'][i]['auctionSku']])rateDate.append([js_dict['rateDetail']['rateList'][i]['rateDate']])dict_content['rateContent'] = rateContentdict_content['auctionSku'] = auctionSkudict_content['rateDate'] = rateDate#dict_content['id'] = '890482188'df = pd.DataFrame(dict_content)if page == 1:df.to_csv('./nike.csv',encoding='utf_8_sig')else:df.to_csv('./nike.csv',mode = 'a',header= False,encoding='utf_8_sig')print('已保存第',page,'页','这一页有',i,'条评论')if __name__ == '__main__': get_comments()
词云
补充
这仅仅只是一个商品的评论页面,能做的事还有很多,比如获取商品的属性,价格,月销量;遍历多个商品,店铺;对获取到的数据进行数据分析;
并且实际上搜索页面的商品数据就在网页源代码中:
user_id是商品id,并且在这里可以直观的获取价格,销量,评论数(这对我们控制上述代码控制for循环很有用)
爬取淘宝商品评论——2020-8月相关推荐
- 爬取淘宝商品评论信息
爬取淘宝商品评论信息 近期学期需求,需要获取部分商品的评价信息.在此记录本次学习的过程. 找到URL 由于这是一个动态网页,因此需要找到评论实际的URL 首先进入你需要的商品的页面,按F12进入开发者 ...
- scrapy 爬取淘宝商品评论信息
爬虫最后要达到的效果,是将某分类下,第一页的所有商品的评论保存至mysql中. 具体会保存评论日期.评论id.评论内容.商品链接和商品id. 爬虫部分代码 # -*- coding: utf-8 -* ...
- Python爬虫,抓取淘宝商品评论内容
2019独角兽企业重金招聘Python工程师标准>>> 作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用pytho ...
- python多线程爬取淘宝商家图片
此次爬取淘宝商家图片是为了对相关行业(此处以激光雷达为例)的产品结构以及外观设计进行对比.而淘宝的反爬机制非常强大,能力有限只能有简单点的办法进行爬取.由于淘宝的每一页数据都是存放在js文件里面,所以 ...
- python抓取淘宝商品评论最新版
python抓取淘宝商品评论最新思路 import json import re from lxml import etree import pandas as pd import time impo ...
- 爬取淘宝商家货物简单销售数据,双十一马上就到了,秒杀准备了吗
前天接一个爬取淘宝商家(自行车)信息的请求,要求数据按照其销售量排行. 完成该请求后,爬取数据(李宁卫衣)如下: 接下来看如何实现的? 首先打开淘宝网:https://www.taobao.com/, ...
- 爬取淘宝商品数据使用Java实现商品推荐系统(含sql文件、算法推导等)
本文所有代码和sql文件,全放在了github上,可自行下载:https://github.com/8042965/recommenderSystem 文章目录 一.什么是推荐系统 二.利用数学解决相 ...
- 利用python requests库爬取淘宝商品评论_python
文章目录 一.起因 二.项目实现 1. 分析实现方式 2. 编码实现 3. 完整代码 三.思考与改进 一.起因 看到一篇文章,感觉自己可以动手试试 Python 不用selenium 带你高效爬取京东 ...
- python自动化爬取淘宝商品数据导入execl表格!
hello,大家好,我是夜斗小神社! 电商时代,淘宝.京东.天猫商品数据对店铺运营有极大的帮助,因此获取相应店铺商品的数据能够带来极大的价值,那么我们如何获取到相应的数据呢? 上一篇我们讲了pytho ...
- python自动化爬取淘宝商品数据导出execl表格
整体思路: 打开浏览器– 打开url– 最大化浏览器– 点击登录,选择扫码– 登录后输入查询内容– 获取查询内容当前页码的字段– 循环点击下一页直到最后一页– 输出– 关闭浏览器 小白一枚,暂时还不会 ...
最新文章
- 从 Servlet 入手带你看架构和框架设计的套路
- php带参数单元测试_一文搞定单元测试核心概念
- 记录一次无聊的(经历了Nodejs - Shell - C)的探索问题过程
- Git 分支的创建与切换 —— Git 学习笔记 14
- 计算机基础知识-操作系统
- linux把终端嵌入桌面,在Ubuntu Linux桌面上嵌入终端窗口
- 修改oracle rac sid,修改Oracle RAC的_asm_hbeatiowait的方法
- python 字符串操作list【:-1】的几种用法
- Linux中Docker部署MySQL
- .net core EPPlus npoi_在.NET中隐藏带有只读Web路径的Web shell
- Linux异常进程kill无效的解决办法
- stm32串口传输数据第一个数据被吞_STM32串口发送第一个字符丢失解决之道
- si4463 api 寄存器中文
- 24点可不可以用计算机算出,24点计算器
- Android开发之EditText属性详解
- opencv之扩展模块安装
- android app申请内存大小,Android中App可分配内存的大小
- leetcode报数题
- Objective-C 之父 Brad Cox 逝世,创建过乐队、推动苹果软件生态
- OTM区块链应用离我们的生活有多近?