Python爬虫获取京东大数据!其实爬虫真的很简单!
简介
Python是一个简洁的语言,集成性非常高,我们可以使用集成的工具库,本文中用到的库有requests、re
找到我们需要爬取的链接
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
python免费学习资料以及群交流解答点击即可加入
输入关键字
自己需要爬取的数据
比如:洗面奶
选择评论数最多
(不要去点销量,因为很大部分原因这个可以用钱买)
进入之后
打开开发者工具,F5刷新页面,点击商品评论
抓取链接
这个弄错了,就是在扯犊子了
回车后,
没有看到突出显示的就上下翻,找到为止
复制我们找到的
URL:
https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5561746&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1
1
代码部分
先把所需要的库导入
import re
import requests
12
定义需要的变量
#由于链接实在太长,我们把链接赋值给一个变量url
url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5561746&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1"
#这里我们然jd知道,我们是通过浏览器访问的(你懂的!)
headers= {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 Edg/86.0.622.69"
}
#定义用于接收数据的列表
productColor, referencComments, referenceName, referenceTime, nickname = [],[],[],[],[]
12345678
获取信息
#通过requests模块获取到网页信息
content = requests.get(url=url, headers=headers)
12
获取关键数据
在这里我们使用正则获取关键数据(re)模块
如果懂json模块的大佬可以直接使用json进行数据整理,我这边主要介绍数据获取思路
我们先把链接放到浏览器中看一下
提取关键字
如:用户名 ,时间,规格,评论,产品名称
关键字:用户名
在我这里是直接找评论区第一个用户(使用Ctrl + F)进行字符串搜索
也可以使用其它的关键字都是一样的
re模块使用
说明位置的特殊字符
- ^表示行首: ^hello 匹配 hellohello 中的第一个 hello
- $表示行尾 hello$ 匹配 hellohello 中的第二个 hello
说明数量的特殊字符
- ?: 表示 0 个或者 1 个,例如 ab?c 匹配 ac 和 abc
- +: 表示 1 个或更多个,例如 ab+c 匹配 abc\abbc\ab...c
- *: 表示 0 个或更多个,例如 ab*c 匹配 ac\abc\ab...c
- {n} 表示匹配 n 个, ab{3}c 只匹配 abbbc
- {n,} 表示匹配最少 n 个,+ 对应 {1,},* 对应 {0,}
- {n,m} 表示匹配 n 到 m 个,? 匹配 {0,1}说明类型的特殊字符
- [a-zA-Z] 表示一个大小写字母,例如前面的例子匹配任何一个字母
- [^a-z] 表示除了小写的字母以外的所有字符
- \d \D \d 对应 [0-9], \D 对应[^0-9]
- \s \S \s 对应 [\n\r\t] \S对应[^\n\r\t]
- \w \W \w 对应 [0-9a-zA-Z_] \W 对应[^0-9a-zA-Z_]
- . 表示任意一个字符
123456789101112131415161718
#把用户名前后直接拿过来分析
'''06-21 17:54:06","nickname":"y***2","replyCount2":'''
nickname += re.findall(r'","nickname":"(.*?)","', content.text)
123
找到时间,规格,评论,产品名称
#同样的把时间,规格,评论都拿过来看一下
'''
规格:
":2,"productColor":"净亮洁面(控油+亮肤)","productS
产品:
f.jpg","referenceName":"欧莱雅(LOREAL)男士控油炭爽抗黑头双支装(洁面*2 赠:洁面*2)洗面奶男 去黑头 去角质","first
评论:
8e","content":"作为一个长期油皮者,各种热[门的洗面奶都用\n过,总是各种问题,洗了很干涩。只有这款,\n两支,一支早上用,补水。一支晚上用,控油,\n晚上也睡得很舒服。早.上起来脸上不会油腻油\n腻的感觉了,以后也都会用这款洗面奶了,产品\n好,会一直支持的","cr
时间:
持的","creationTime":"2020-06-27 22:02:22","isD
'''
#使用正则获取关键数据
#时间:
referenceTime += re.findall(r'","creationTime":"(.*?)","', content.text)
#产品名称:
referenceName += re.findall(r'","referenceName":"(.*?)","', content.text)
#评论:
referencComments += re.findall(r'","content":"(.*?)","', content.text)12345678910111213141516171819
结果
这个时候我们输出看一下
#先把数据一一对应
Info = [nickname, referenceTime, referenceName, referencComments, productColor]
#打印
for i in range(0,len(nickname)):print(nickname[i],referenceTime[i], productColor[i],referenceName[i],referencComments[i])
12345
进阶
到现在只获取到一页的信息,这怎么能叫做爬虫
现在我们手动找到下一页的链接
按照老方法找到下一页的链接
第二页的链接
https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5561746&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&rid=0&fold=1
1
对比一下跟第一条链接有什么区别
很快就找到了
第一条为page=0,第二条page=1
所以在这块我们要把page设置成一个变量
定义URL变量
将之前写的url链接更改
url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5561746&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&fold=1"
1
我们需要知道一页为10条,在这里我们就测试100条
进行循环获取信息
for index in range(0, 10):#通过requests模块获取到网页信息content = requests.get(url=url.format(index), headers=headers)#用户名nickname += re.findall(r'","nickname":"(.*?)","', content.text)#时间:referenceTime += re.findall(r'","creationTime":"(.*?)","', content.text)#产品名称:referenceName += re.findall(r'","referenceName":"(.*?)","', content.text)#评论:referencComments += re.findall(r'","content":"(.*?)","', content.text)#规格productColor += re.findall(r'"productColor":"(.*?)","', content.text)
12345678910111213
再次输出结果
这里我也不知道是不是100条,我们加个索引进行输出
for index, i in enumerate(range(0,len(nickname))):print(index, nickname[i],referenceTime[i], productColor[i],referenceName[i],referencComments[i])
12
输出结果
滑倒最后
没错0-99=100
到这里就结束了,谢谢大家,不惜勿喷
Python爬虫获取京东大数据!其实爬虫真的很简单!相关推荐
- android 简单获取实时天气数据_绘图本身很简单但是获取数据很难
看到我们生信技能树的教学群有学员提问这样的图如何绘制: 其实我们讲解过,绘图代码本身搜索即可拿到,关键词 ggpubr paired boxplot ,输入到 https://cn.bing.com/ ...
- python爬虫怎么下载图片到手机_python爬虫获取京东手机图片的图文教程
如题,首先当然是要打开京东的手机页面 因为要获取不同页面的所有手机图片,所以我们要跳转到不同页面观察页面地址的规律,这里观察第二页页面 由观察可以得到,第二页的链接地址很有可能是 https://li ...
- 【爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】
[爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩] https://b23.tv/TIoy6hj
- [遥感]利用python爬虫获取美国冰雪数据中心的数据
00. 写在前面: 由于最近学习方面需要用到NSIDC(美国冰雪数据中心)的数据进行计算,但是手工下载又特别耗费时间,需要一个一个去点击,所以我尝试着去写一个小爬虫获取所需数据. 对所有需要在NSID ...
- 【【数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】-哔哩哔哩】 https://b23.tv/iTt30QG
[[数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩]-哔哩哔哩] https://b23.tv/iTt30QG ht ...
- Python 网络爬虫笔记8 -- 股票数据定向爬虫
Python 网络爬虫笔记8 – 股票数据定向爬虫 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Pyth ...
- python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二)
上一章: python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一.爬虫思路及代码) 第三步:数据清洗 清洗数据很简单,就是数据太乱的话,就得花些时间,所以一定要有一个好的方法,才能避免在清洗数据 ...
- python爬虫爬取股票软件数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储(转载)...
完整代码 实际上,整个事情完成了两个相对独立的过程:1.爬虫获取网页股票数据并保存到本地文件:2.将本地文件数据储存到MySQL数据库.并没有直接的考虑把从网页上抓取到的数据实时(或者通过一个临时文件 ...
- python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一)
python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二.数据清洗及存储) 爬起疫情数据,有两个网址: 1.百度:链接 2.丁香园疫情:链接 在这两个中,丁香园的爬虫相对简单一点,所以今天就展示一 ...
最新文章
- linux 内核调试前准备(简单记录,以后补充)
- umask及文件默认和原始权限说明
- mysql数据库 数据类型自动编号选哪个_MySQL表类型、选择合适数据类型、字符集...
- 达内php吾爱_2018年达内c++全套视频课程(不加密)
- vue的transition组件的使用
- STL vector简介
- 【Python实例第15讲】分类概率图
- win7计算机扫描仪,win7系统怎么用打印机扫描仪功能|win7系统扫描仪功能的使用方法...
- win10 游戏等应用打开时闪退解决方案
- 赴日IT的昨日和今朝
- java阶梯算法_上楼梯算法的java实现(转)
- mysql分布式如何实现原理_mysql分布式集群实现原理
- 解决T400\T500\W500等安装win10驱动后黑屏问题
- python让用户输入字符串_Python中接收用户的输入
- 打开html就自动到搜狗网扯,今天一打开IE浏览器,页就一直是搜狗网址导航,怎么改也改不掉,...
- 项脊轩志-2017年元宵节后
- 2020版中国开放数据(Open Data)及政府数据开放平台汇总
- python下载第三方库的时候报错ERROR: Command errored out with exit status 1: python setup.py egg_info Check the
- 注册表html右键默认浏览器,如何锁定默认浏览器?用注册表设置默认浏览器方法...
- python 股票自动交易助手_学习 Python 看这一篇就够了!