python-爬虫实例(1):获取京东商品评论

目录

前言

        道路千万条,安全第一条

        爬虫不谨慎,亲人两行泪

获取京东商品评论信息

一、实例示范

二、爬虫四步走

1.UA伪装 

 2.获取Url

3.发送请求

4.获取响应数据进行解析并保存

 总结


前言

        道路千万条,安全第一条

        爬虫不谨慎,亲人两行泪

 

获取京东商品评论信息

        进行爬取操作之前先来讲个json大字符串的概念

        虽然叫它大字符串,但它的本质是一个字典,字典里嵌套了其他的数据类型。

        以下是一个简单的json类型示例:

{"name": "John Doe","age": 30,"city": "New York","isStudent": false,"courses": ["Math", "Science", "History"]
}

        这时候想要取"Math"这个字符串就需要先取json里的"courses"键的值,再从这个列表里取出来"Math"。

 

一、实例示范

        代码:

# jd评论信息
# 获取json数据
# UA 浏览器身份标识
# Cookie 用户身份标识
import requests
import jsonif __name__ == '__main__':head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0","Cookie": "__jdv=76161171|direct|-|none|-|1721304228745; areaId=14; PCSYCityID=CN_340000_340100_0; shshshfpa=9d6bb9f5-2df3-f0ae-84d7-9feb10409507-1721304230; shshshfpx=9d6bb9f5-2df3-f0ae-84d7-9feb10409507-1721304230; TrackID=1SJUe62_7OhOVdSNSNv6lwEH0sw12qyvR6hDeXSwe4OhNq5cPWZYpVlkMNucopWsu9l4a0oc-QPQhUD-BbyWgKCikwyHwiFL9QUCXSp9UnXgrytWf_8ZiqczStzHjFr1A; thor=0A5DE5C934900F151550690E68060DD6BEA12900C6BC00C995B1B61C8F9064CE30722A092BCFC7F7873EA432399BA54B0DF30610257CF29A8CE328D655A0030564CA4070E9126D05708BE4374B1CD5E6E40647F2621EC119FD452E89B3DB501BC6BCD02FB491FDFD0663802C735C8E8B1298A50463A731F69DCD105FD6B33179C8AC2A1A78FD18D8D56CB9217B04738F; pinId=DVnUbUvl6BlafyIN32ve9Q; pin=18715561029_p; unick=%E6%88%91%E4%B9%9F%E6%83%B3%E5%BD%93T0; ceshi3.com=201; _tp=boW%2Bsld6syhCSOJuTx4dYQ%3D%3D; _pst=18715561029_p; jsavif=1; 3AB9D23F7A4B3C9B=G3FMFVHJRKO4WY2EEEJ3J3FHKJF3JSXE63GVJHBN6JLN4OFZ7BV6NMFF63SJ7DTPILE4E3W25GJTFMSEKGSRGW6MPI; token=690ddf6b97c63e862c77d945cc6a1029,3,956280; __tk=fxbANskE2sM4zxgPqvyxzRbCfxT3zzbQfvH4gakExBr3gzbPfzrwN0bCfxx3NRbPfxbRrwTz,3,956280; __jda=181111935.1721304228744546785809.1721304229.1721304229.1721304229.1; __jdc=181111935; ipLoc-djd=14-1116-3431-57939; 3AB9D23F7A4B3CSS=jdd03G3FMFVHJRKO4WY2EEEJ3J3FHKJF3JSXE63GVJHBN6JLN4OFZ7BV6NMFF63SJ7DTPILE4E3W25GJTFMSEKGSRGW6MPIAAAAMQYXDC36QAAAAACRMAR6DBKZXZVUX; __jdb=181111935.12.1721304228744546785809|1.1721304229; flash=2_SRV9wrohYNkwkrnrUUWyOh6Q94WEbnJYPVF5HukZ4VtMMxsChmr8umAs5etO9Xx-mtPF6876tvH0TQyiCSpajuBolLqR47qW-utU1gbdlarx9OGSmDfk5gxVJZDn-49J05Om2EaAMSQCksRp1z4SA3Aiy0KCY6AYwm7HcJGp_CV*; shshshfpb=BApXccfrPxvVAnRfl37QeGjYe9pyrhiTdBmNxRR9o9xJ1MhE_hIC2"}url = "https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=pc&clientVersion=1.0.0&t=1721305271570&body=%7B%22productId%22%3A100068388451%2C%22score%22%3A0%2C%22sortType%22%3A5%2C%22page%22%3A0%2C%22pageSize%22%3A10%2C%22isShadowSku%22%3A0%2C%22fold%22%3A1%2C%22bbtf%22%3A%22%22%2C%22shield%22%3A%22%22%7D&h5st=20240718202111580%3Big6g5g5i55myz9n0%3Bfb5df%3Btk03wceac1d1e18nF1RxAuQkMBnxcaSi9YAM6QhwyaPQHXALcgMlONnknzgltofi9MT9EWeyA_OyYvSly1UAbMBxmM92%3Bb7a5f127e6358a6267abdd04b03a4189%3B4.7%3B1721305271580%3BTKmWTgopg3DOi83l2nbmQrRfhXRbpXfzQrLnqQ9ZeBVcG45Mydm0vj5DgYBKYM5hZc1KUDtyZ77AcASL_Kw1uCrZwdTs6gnSTv6n-sZ3E90bR6m3RpKcYhB6R4lvuoWoaHhqwUYjLwYQzZQqJUQtPGvV9Fb6k9mMjWyQxbrsP_LzW7maBLk25RDEfJjqTyghIhyuXtkd5U3g1f4WRquhq87-IlcT_0qtwCRLTvmL0A8ZwtRockghB5MFwoHdkfzXritjd0tmlMkHxujIYGYA7f6Ld_aimyKu_NdwWMWSgIo4oCbHshgy-r2UvXyZ5y6SUHdcC-Ds8ALaDcDlbSxCu5xddGz2E4fV-HgaEgFE4K6RZxp3uyusd6pZ-N3xwAnfxe6gccMvmO383p1nrhZ7ebB-zadhIREWTeGamldfk3aKPsGSkRY-t1RAX9AKJH0e3ZOPNWzvreiO1lP-YKP2GegBuGBIhe71aRDUfqUVmTeVhO3X9ZOMUqVhUXgACI3Cb32eQwwUHNK5z27MMbEOjXG5ATJzL6JiPbE9j1zIClUT0kDcYppyM7AXF5Q9gMfSAtB3ggE7nDk8PeheJO0dl8zjLad9Prk3hGJ0DQIeqffFGvzEemLTD52YgeDqWQHLXbk3%3B0fbcf08e3977ece11f50cb4184254712&x-api-eid-token=jdd03G3FMFVHJRKO4WY2EEEJ3J3FHKJF3JSXE63GVJHBN6JLN4OFZ7BV6NMFF63SJ7DTPILE4E3W25GJTFMSEKGSRGW6MPIAAAAMQYXDC36QAAAAACRMAR6DBKZXZVUX&loginType=3&uuid=181111935.1721304228744546785809.1721304229.1721304229.1721304229.1"response = requests.get(url, headers=head)ls = response.json()for i in ls["comments"]:print(i["content"])pass

        输出

这个苹果手机非常的好用,512的内存也非常的合适,颜值是非常的高,质感也非常得好,拍照效果也非常得好运行,速度也很好,很值得购买哦。
IPhone15Promax
外形外观:外观设计典雅大气,边框工艺精湛,尽显高端质感
屏幕音效:边视网膜XDR显示屏,色彩鲜活,细节毕现,视觉盛宴一触即发,
音效震撼,立体声效营造沉浸体验
拍照效果:拍照效果再升级,夜景模式清晰明亮,人像模式自然动人,记录生活美好瞬间
运行速度:A系列芯片加持,运行速度飞快,流畅无阻挡,
待机时间:电池续航强劲,满足全天候使用需求
更有创新灵动岛设计,解锁更多交互可能,尽显科技魅力
设计感太强了,让人眼前一亮,用起来也很顺手。
虽然手机价格略高,但是质量绝对没得说,用了很多年都没出现问题,真的很耐用。"
手机的系统稳定性非常高,不会出现卡顿和死机的情况,真的很靠谱。"
手机的音质和屏幕显示效果真的没得挑剔,听歌、看电影都超级爽!"
手机使用起来方便,系统流畅,页面简洁,工作生活学习的好帮手。外观好看,三星屏,德赛电池,整体机子还是很优秀。
不错的购物体验,没有翻车,京东自营店的东西就是要比其他的可靠,我看评论,很多都翻车,买之前,我还挺惊心胆颤,收到手机后,一点点打开,检查,完美,不得不说苹果的包装设计以及系统,用起来是真的舒服,推荐大家购买,不说了,我先去体验了
哈哈哈哈哈哈哈,真不错啊真不错哈哈哈
店家发货非常快,服务态度很好,应该是正品,一次很愉快的购物已经用过一段时间了,效果不错😍,客服服务有耐心,解答详细,赞一个东西很满意哦,美观时尚大气,客服超级有耐心,服务细致贴心,大品牌就是不一样
苹果15promax真的超棒,屏幕清晰,运行流畅,拍照效果也一级棒!卖家服务热情周到,发货速度也很快,非常满意!
材质结实,手感好,很得劲,物流也快,性价比很高,值得购买产品包装精致美观大气,目前用着非常不错,真实评价,希望可以帮到集美们
安全下车,手机是原封,256g刚刚好,续航还是promax给力,出去外面一整天不用担心电量。Pro和pro max区别是长焦看个人取舍哪个使用场景多。
一直在京东上购买手机,正好618活动,直接就在京东上下单,苹果手机没得说,就是手机信号有的时候确实是个问题,走高架的时候,手机没有信号,拨打不出去电话……
屏幕音效:屏幕比我用饿13感觉更加细腻,更清楚了!
拍照效果:手机拍照还原度高,清楚!

 

二、爬虫四步走

1.UA伪装 

        获取京东的商品评论信息需要在网页登录京东账号,因为不登录的话需要验证码,这是一种反爬取机制。

具体操作

  • 到京东商品界面,此处示例是iphone15pmax
  • 按f12打开检查界面,点击1,再点击2进行清空请求
  • 然后按 ctrl+r 刷新请求 
  • 点击3【商品评论】
  •  最后点击4 到该界面

  • 翻找appid开头的请求,点击响应查看是否有评论,直到看到content评论
  • 这些评论也就是买家发的评论

  • 这时即可使用标头去寻找User-Agent
  • 但是因为京东需要用户登录信息,所以我们还需要获取用户的Cookie

 

 2.获取Url

 

3.发送请求

还是熟悉的requests.get()请求 

response = requests.get(url, headers=head)

 

4.获取响应数据进行解析并保存

        这样获取的响应数据是json类型的,所以我们需要用.json()的方法将该响应解析为Python对象

进行取评论之前可以print(ls)观察一下长什么样子,思考一下如何取出里面"content"的内容。

    ls = response.json()  # 将响应数据转换成json大字符串储存在ls里面for i in ls["comments"]:   # 遍历json大字符串里"comments"键的值print(i["content"])    # 获取评论数据

 

 总结

        有时爬取数据需要 UA 浏览器身份标识 和 Cookie 用户身份标识。还要注意获取的响应类型是text还是json类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机怎么恢复回收站清空的照片?2个技巧大公开(适用各类安卓机)

站在时间的边缘,凝视着那些即将消逝的回忆,心里的惆怅不断增加。我们到底该怎么恢复回收站删除的照片呢?请相信,这些回忆并未真正消失。 无论你是因为误操作还是其他原因导致回收站被清空,这篇文章都将为你提供有力的…

Centos7_Minimal安装Cannot find a valid baseurl for repo: base/7/x86_6

问题 运行yum报此问题 就是没网 解决方法 修改网络信息配置文件,打开配置文件,输入命令: vi /etc/sysconfig/network-scripts/ifcfg-网卡名字把ONBOOTno,改为ONBOOTyes 重启网卡 /etc/init.d/network restart 网路通了

慎用Float和Double进行浮点运算

背景 在之前的开发过程中, 遇到了一些小问题. 就是在某功能计算时, 按照当时的设想是需要保留两位小数并向下取整. 当时没有太好的思路, 于是请教了好朋友gpt同志. 而gpt给出3种思路: 使用String.format方法 double value 123.456789; String formattedString String.forma…

Redis从入门到超神-(五)Redis实现分布式锁原理

引言 什么是分布式锁? 分布式锁是分布式系统中用于控制多个进程或线程对共享资源的访问的一种机制。在分布式系统中,由于存在多个服务实例或节点,它们可能会同时尝试访问或修改同一份数据或资源。如果没有适当的同步机制,就可能导…

labview实现两台电脑共享变量传输及同步

因为工作需要,需要实现多台主机间进行数据传输, 有两个备选方案, 1:建立tcp,然后自己解包 2:就是通过共享变量传输 虽然共享变量也是建立在TCP/IP上面的,但是不用自己解包呀 关于共享变量网络上…

mysql面试(四)

前言 本章节有些长,主要的篇幅是介绍缓存页的算法,如何快速的定位哪些是没有用过的,哪些是用过的,哪些是要淘汰掉的。 建议可以阅读一下这里面LRU算法相关的内容,和很多组件里面基本原理都是想通的,比如re…

聊聊 C# 中的顶级语句

前言 在 C# 9.0 版本之前,即使只编写一行输出 “Hello world” 的 C# 代码,也需要创建一个 C# 类,并且需要为这个 C# 类添加 Main 方法,才能在 Main 方法中编写代码。从 C# 9.0 开始,C# 增加了 “顶级语句” 语法&…

redis原理之底层数据结构-跳表

1.什么是跳表 1.1 链表及其不足 链表是在程序设计中最常见的数据结构之一,它通过指针将多个链表节点连接起来,这样就可以将逻辑上同一类的数据存储到不连续的内存空间上。链表结构如下: 但是链表有一个问题,就是当链表需要查询一…

3.1 FreeRTOS详细移植步骤(自己的实操)

[TOC](3.1 FreeRTOS详细移植步骤(自己的实操)) 自己使用阿波罗F767的内存管理实验和定时器实验,进行复刻。 FreeRTOS源码版本是FreeRTOS 202212.01。官网和Github都有下载。 按照STM32F767FreeRTOS开发手册V1.1进行移植复刻。 注:这个开发手册不是开发指南。跟视频里…

关于Qt部署CMake导致“Failed to set working directory to”的问题

2024年7月23日补充:该目录过深的情况只在Win10上有发现,Win11则没有问题,且Win11可以在DevHome中设置LongPath。 --------------------------------------------------------------------------------------------------------------- 使用qt…

Spark_Oracle_II_Spark高效处理Oracle时间数据:通过JDBC桥接大数据与数据库的分析之旅

接前文背景, 当需要从关系型数据库(如Oracle)中读取数据时,Spark提供了JDBC连接功能,允许我们轻松地将数据从Oracle等数据库导入到Spark DataFrame中。然而,在处理时间字段时,可能会遇到一些挑战…

分布式Apollo配置中心搭建实战

文章目录 环境要求第一步、软件下载第二步、创建数据库参考文档 最近新项目启动,采用Apollo作为分布式的配置中心,在本地搭建huanj 实现原理图如下所示。 环境要求 Java版本要求:JDK1.8 MySql版本要求:5.6.5 Apollo版本要求&…

第八讲:Sysmac Studio控制器设置

控制器设置 一、控制器设定-操作设置 1、启动模式(运行模式/编程模式) 控制器上电后,希望程序运行还是不运行。如果说希望程序运行,那么就选择运行模式。如果说希望上电后程序不运行就选择编程模式。 通常情况下选运行模式可能会比较多一些。 2、SD内存卡设置 当控制…

Pytorch TensorBoard的使用

from torch.utils.tensorboard import SummaryWriter writer SummaryWriter("logs")for i in range(100):writer.add_scalar("yx",i,i) writer.close() 第一个参数 y2x: 这是图表的标题或标签。它会显示在TensorBoard界面中,帮助你识别这条曲线。 第二个参…

(35)远程识别(又称无人机识别)(二)

文章目录 前言 4 ArduRemoteID 5 终端用户数据的设置和使用 6 测试 7 为OEMs添加远程ID到ArduPilot系统的视频教程 前言 在一些国家,远程 ID 正在成为一项法律要求。以下是与 ArduPilot 兼容的设备列表。这里(here)有一个关于远程 ID 的很好解释和常见问题列表…

【数据结构】排序算法——Lesson2

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

uni-app pinia搭建

1.新建store文件 新建index.js,代码: // import { // createPinia // } from pinia //const store createPinia() import * as Pinia from pinia const pinia Pinia.createPinia() export * from "./modules/user" export * from ".…

vscode 寻找全部分支的提交

vscode 寻找全部分支的提交 Git Graph

Python 机器学习求解 PDE 学习项目——PINN 求解二维 Poisson 方程

本文使用 TensorFlow 1.15 环境搭建深度神经网络(PINN)求解二维 Poisson 方程: 模型问题 − Δ u f in Ω , u g on Γ : ∂ Ω . \begin{align} -\Delta u & f \quad & \text{in } \Omega,\\ u & g \quad & \text{on } \Gamma:\p…

Proxmox8基于PC物理机/服务器安装,初始化,挂载磁盘,安装虚拟机

目录 安装文件 开始安装Proxmox 选择启动菜单,F11 后进入启动菜单选择 按需选择是否关闭RAID 选择对应的U盘 进入安装界面 进入安装启动过程 选择系统盘 设置相关信息 设置IP和开启root远程登录 设置dns 设置网卡ip 设置 ssh 远程登录 开机合并local-l…