当前位置: 首页 > news >正文

Python爬取京东商品评论

寻找数据真实接口

打开京东商品网址查看商品评价。我们点击评论翻页,发现网址未发生变化,说明该网页是动态网页。

 

API名称:item_review-获得JD商品评论

公共参数

获取API测试key&secret

名称类型必须描述
keyString调用key(必须以GET方式拼接在URL中)
secretString调用密钥
api_nameStringAPI接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cacheString[yes,no]默认yes,将调用缓存的数据,速度比较快
result_typeString[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
langString[cn,en,ru]翻译语言,默认cn简体中文
versionStringAPI版本

请求参数

请求参数:num_iid=71619129750&page=1

参数说明:item_id:商品ID
page:页数

响应参数

Version: Date:

名称类型必须示例值描述

items

items[]0获得JD商品评论

rate_content

String0这个帆布鞋的款式挺不错的,穿着也很百搭,做工很精细。!评论内容

rate_date

Date02020-07-16 17:04:45评论日期

pics

MIX0["//img30.360buyimg.com/n0/s128x96_jfs/t1/143538/26/2997/98915/5f10182dE075cf6f4/3893a6ebd54bf20b.jpg"]评论图片

display_user_nick

String0j***X买家昵称

auction_sku

String0颜色:白色(加绒);尺码:2XL评论商品属性

add_feedback

String0衣服面料很好 穿起来很舒服 衣服挺合适的!追评内容

通过循环,爬取所有页面的评论数据

翻页爬取的关键是找到真实地址的“翻页”规律。我们分别点击第1页、第2页、第3页,发现不同页码的除了page参数不一致,其余相同。第1页的“page”是1,第2页的“page”是2,第2页的“page”是2,以此类推。 我们嵌套一个For循环,并通过pandas存储数据。运行代码让其自动爬取其他页面的评论信息,并储存t.xlsx的文件中。 所有代码如下:

import requests
import pandas as pd
items=[]
for i in range(1,20):header = {'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.1.4031 SLBChan/105'}url=f'https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=pc&clientVersion=1.0.0&t=1684832645932&loginType=3&uuid=122270672.2081861737.1683857907.1684829964.1684832583.3&productId=100009464799&score=0&sortType=5&page={i}&pageSize=10&isShadowSku=0&rid=0&fold=1&bbtf=1&shield='response= requests.get(url=url,headers=header)json=response.json()data=json['comments']for t in data:content =t['content']time    =t['creationTime']item=[content,time]items.append(item)
df = pd.DataFrame(items,columns=['评论内容','发布时间'])
df.to_excel(r'C:\Users\蓝胖子\Desktop\t.xlsx',encoding='utf_8_sig')

最后,得到爬取的数据结果如下:

图片

http://www.lryc.cn/news/150570.html

相关文章:

  • ROS机器人编程---------(一)安装ROS
  • Maven入门教程(一):安装Maven环境
  • CSS中可继承与不可继承属性
  • Vscode画流程图
  • 【K8S系列】深入解析k8s网络插件—Cilium
  • OpenCV(十六):高斯图像金字塔
  • Nginx配置及优化3
  • 网络直播源码UDP协议搭建:为平台注入一份力量
  • Ubuntu/linux系统环境变量配置详解
  • kafka配置SASL/PLAIN 安全认证
  • pdf加密如何解除?这样解除加密很简单
  • Ubuntu18.04使用Systemback制作系统镜像并还原
  • OpenCV(十五):拷贝图像
  • 原神世界中的顺序表:派蒙的趣味数据结构讲解
  • 电脑入门:路由器 基本设置操作说明
  • 搜索与图论-拓扑序列
  • 「MySQL-05」MySQL Workbench的下载和使用
  • 编译期jni类型转换成字符串
  • 优秀的ui设计作品(合集)
  • 【c/c++】c和cpp混合编译
  • springboot定制banner
  • Qt 入门实战教程(目录)
  • Ceph入门到精通-Lunix性能分析工具汇总
  • 服务器端使用django websocket,客户端使用uniapp 请问服务端和客户端群组互发消息的代码怎么写的参考笔记
  • 【考研数学】线性代数第四章 —— 线性方程组(2,线性方程组的通解 | 理论延伸)
  • go读取文件的几种方法
  • ChatGPT癌症治疗“困难重重”,真假混讲难辨真假,准确有待提高
  • docker打包vue vite前端项目
  • zookeeper 查询注册的 dubbo 服务
  • 【每日一题】57. 插入区间