python爬取京东上销量最高的口红评论区一页的数据(马士兵)

爬取京东上销量最高的口红评论区一页的数据

  • 拿到网页
    • 3行代码爬取京东数据
    • 如何解析这堆杂乱无章的数据?
    • 4行代码带数据回家

只看最后的代码即可(因为是最新的)

拿到网页

URL
1.我们在京东主页上搜索框内输入:鞋子
然后按评论数排序,因为这个反应的销量最准

如何找到评论区内容背后的URL?

(1)鼠标右击选择检查,打开程序员调试窗口,点击network(网络)
(2)刷新当前页面
(3)复制一小段评论区内容,然后在程序员调试窗口点击放大镜,粘贴
(4)点击刷新小圆圈查找
(5)点击查询结果的第二行,跳转到对应的请求
(6)点击Headers,找到Request URL即几评论区数据背后的URL

3行代码爬取京东数据

梳理代码流程:
(1)引入Python工具包requests
(2)使用工具包中的get方法,向服务器发起请求
(3)打印输出请求回来的数据(print语法)

网址在这:

https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=43139143240&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1

代码:

import requests
wang=requests.get('https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=43139143240&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1')
print(wang.text)

如何解析这堆杂乱无章的数据?

(1)打开网页工具 www.json.cn
(2)将数据整理成Json格式:以大括号开头和结尾
(3)找到目标数据值对应的名字
Python replace语法

replace为替换的意思,可以使用replace把任何不想要的数据替换成一个新值

引入Python整理数据的工具包 json、获取鞋子颜色及鞋码数据
python爬取京东上销量最高的口红评论区一页的数据(马士兵)_第1张图片
因为这个工具要求我们粘过来的数据以大括号开头,以大括号结尾
改好后是这个样子:(每个箭头指的小圆圈都包含着折叠出来的东西)
python爬取京东上销量最高的口红评论区一页的数据(马士兵)_第2张图片
这就是很多键值对!!!很耳熟吧
comments就是评价的意思,然后把它展开,content就是内容的意思.

代码:

import requests
import json #必须以大括号开头,以大括号结尾
wang=requests.get('https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=43139143240&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1')
content=wang.text
#去前缀后缀
rest=content.replace('fetchJSON_comment98(','').replace(');','')

json_data=json.loads(rest)
comments=json_data['comments'] #这里面有十个值
for item in comments:
  color=item['productColor']
  size=item['productSize']
  print(color)
  print(size)

python爬取京东上销量最高的口红评论区一页的数据(马士兵)_第3张图片

4行代码带数据回家

学会引入openpyxl工具包存储数据?
(1)创建一个Excel表格

(2)创建一个sheet

(3)在sheet里面保存数据

(4)把表格保存在一个磁盘里
注意⚠️:我们的数据保存在云服务器,服务器访问入口: http://py.mashibing.com/pythondata

CTRL+F可以搜索你的文件名,拖动就可以保存到你的电脑上(数据保存在sheet1里)

代码:

import requests
import json #必须以大括号开头,以大括号结尾
import openpyxl

wk=openpyxl.Workbook() #创建excel表格
sheet=wk.create_sheet()


wang=requests.get('https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=43139143240&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1')
content=wang.text
#去前缀后缀
rest=content.replace('fetchJSON_comment98(','').replace(');','')

json_data=json.loads(rest)
comments=json_data['comments'] #这里面有十个值
for item in comments:
  color=item['productColor']
  size=item['productSize']
  sheet.append([color,size]) #指定第一列第二列保存的列名
  wk.save('data/LJL-19863346320.xlsx')

你可能感兴趣的:(python,开发语言)