简介

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爬虫获取京东大数据!其实爬虫真的很简单!相关推荐

  1. android 简单获取实时天气数据_绘图本身很简单但是获取数据很难

    看到我们生信技能树的教学群有学员提问这样的图如何绘制: 其实我们讲解过,绘图代码本身搜索即可拿到,关键词 ggpubr paired boxplot ,输入到 https://cn.bing.com/ ...

  2. python爬虫怎么下载图片到手机_python爬虫获取京东手机图片的图文教程

    如题,首先当然是要打开京东的手机页面 因为要获取不同页面的所有手机图片,所以我们要跳转到不同页面观察页面地址的规律,这里观察第二页页面 由观察可以得到,第二页的链接地址很有可能是 https://li ...

  3. 【爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】

    [爬虫+数据可视化毕业设计:英雄联盟数据爬取及可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩] https://b23.tv/TIoy6hj

  4. [遥感]利用python爬虫获取美国冰雪数据中心的数据

    00. 写在前面: 由于最近学习方面需要用到NSIDC(美国冰雪数据中心)的数据进行计算,但是手工下载又特别耗费时间,需要一个一个去点击,所以我尝试着去写一个小爬虫获取所需数据. 对所有需要在NSID ...

  5. 【【数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】-哔哩哔哩】 https://b23.tv/iTt30QG

    [[数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩]-哔哩哔哩] https://b23.tv/iTt30QG ht ...

  6. Python 网络爬虫笔记8 -- 股票数据定向爬虫

    Python 网络爬虫笔记8 – 股票数据定向爬虫 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Pyth ...

  7. python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二)

    上一章: python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一.爬虫思路及代码) 第三步:数据清洗 清洗数据很简单,就是数据太乱的话,就得花些时间,所以一定要有一个好的方法,才能避免在清洗数据 ...

  8. python爬虫爬取股票软件数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储(转载)...

    完整代码 实际上,整个事情完成了两个相对独立的过程:1.爬虫获取网页股票数据并保存到本地文件:2.将本地文件数据储存到MySQL数据库.并没有直接的考虑把从网页上抓取到的数据实时(或者通过一个临时文件 ...

  9. python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一)

    python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二.数据清洗及存储) 爬起疫情数据,有两个网址: 1.百度:链接 2.丁香园疫情:链接 在这两个中,丁香园的爬虫相对简单一点,所以今天就展示一 ...

最新文章

  1. linux 内核调试前准备(简单记录,以后补充)
  2. umask及文件默认和原始权限说明
  3. mysql数据库 数据类型自动编号选哪个_MySQL表类型、选择合适数据类型、字符集...
  4. 达内php吾爱_2018年达内c++全套视频课程(不加密)
  5. vue的transition组件的使用
  6. STL vector简介
  7. 【Python实例第15讲】分类概率图
  8. win7计算机扫描仪,win7系统怎么用打印机扫描仪功能|win7系统扫描仪功能的使用方法...
  9. win10 游戏等应用打开时闪退解决方案
  10. 赴日IT的昨日和今朝
  11. java阶梯算法_上楼梯算法的java实现(转)
  12. mysql分布式如何实现原理_mysql分布式集群实现原理
  13. 解决T400\T500\W500等安装win10驱动后黑屏问题
  14. python让用户输入字符串_Python中接收用户的输入
  15. 打开html就自动到搜狗网扯,今天一打开IE浏览器,页就一直是搜狗网址导航,怎么改也改不掉,...
  16. 项脊轩志-2017年元宵节后
  17. 2020版中国开放数据(Open Data)及政府数据开放平台汇总
  18. python下载第三方库的时候报错ERROR: Command errored out with exit status 1: python setup.py egg_info Check the
  19. 注册表html右键默认浏览器,如何锁定默认浏览器?用注册表设置默认浏览器方法...
  20. python 股票自动交易助手_学习 Python 看这一篇就够了!

热门文章

  1. Linux root密码修改
  2. html没有注册类,电脑中ie浏览器提示没有注册类别的三种解决方法
  3. PPT手写笔颜色修改
  4. Oracle首席工程师四火:技术面试中,怎样的问题才是好问题?
  5. 飞凌单片机解密_GX28E01单片机解密
  6. 27岁,大专学历,女程序员内心的感受和行业焦虑
  7. Linux下Qt编译出现“cannot find -lGL
  8. 有限公司清算组成员怎样构成
  9. AD603+MCP4725+STM32-----自动增益控制电路
  10. 安装mysql 遇到问题