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

news2024/11/26 12:19:40

目录

前言

        道路千万条,安全第一条

        爬虫不谨慎,亲人两行泪

获取京东商品评论信息

一、实例示范

二、爬虫四步走

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 json

if __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.coloradmin.cn/o/1938595.html

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

相关文章

【BUG】已解决:AttributeError: ‘str‘ object has no attribute ‘get‘

已解决:AttributeError: ‘str‘ object has no attribute ‘get‘ 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识&#xff0c…

JVM中的GC流程与对象晋升机制

JVM中的GC流程与对象晋升机制 1、JVM堆内存结构2、Minor GC流程3、Full GC流程4、总结 💖The Begin💖点点关注,收藏不迷路💖 在Java虚拟机(JVM)中,垃圾回收(GC)是自动管…

Let’s Encrypt申请证书流程(附带问题解决方式)

文章目录 前言Let’s Encrypt 和 OpenSSL的区别文章相关 正文1、安装snapd2. 使用snapd安装certbot3. 生成证书(需要指定nginx)5. Nginx.conf的配置 问题1、error: system does not fully support snapd原因解决方式 2、The error was: PluginError(‘Ng…

宠物医院管理系统视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

实现给Nginx的指定站点开启目录浏览功能

一、问题描述 需要实现在浏览器上可以浏览Nginx部署网站内容并下载一些常用的软件安装包、文件资料等内容;并且针对一些文件夹或内容需要进行认证后才能查看;有一些格式类型的文件也不能够访问查看。 二、问题分析 1、实现浏览器上可以浏览下载文件内容; 2、针对一些文件…

H3CNE(计算机网络的概述)

1. 计算机网络的概述 1.1 计算机网络的三大基本功能 1. 资源共享 2. 分布式处理与负载均衡 3. 综合信息服务 1.2 计算机网络的三大基本类型 1.3 网络拓扑 定义: 网络设备连接排列的方式 网络拓扑的类型: 总线型拓扑: 所有的设备共享一…

继承和多态(下)

目录 1.多态 2.多态成立的条件 虚函数重写: 虚函数重写的两个例外 3.override 和 final 4.重载,重定义(隐藏)和重写 5.抽象类 接口继承和实现继承 6.多态的原理 虚函数表 多态的原理 动态绑定和静态绑定 7.单继承虚表…

C语言高校人员管理系统

该系统使用easyx插件。 以下是部分页面 以下是部分源码&#xff0c;需要源码的私信 #define _CRT_SECURE_NO_WARNINGS 1//vs的取消报警 #include<easyx.h> #include<stdio.h> #include<stdlib.h>#define width 1280 #define height 840 #define font_w 35 …

《样式设计002:tab切换与底部swiper滑动块》

描述&#xff1a;在开发小程序过程中&#xff0c;发现一些不错的案例&#xff0c;平时使用也比较多&#xff0c;稍微总结了下经验&#xff0c;以下内容可以直接复制使用&#xff0c;希望对大家有所帮助&#xff0c;废话不多说直接上干货&#xff01; 一、tab切换与底部swiper滑…

AD9826 spi读写源码贡献

AD9826是一款专为成像应用设计的模拟信号处理器&#xff0c;它采用三通道架构&#xff0c;设计用于对三线彩色CCD阵列的输出进行采样和调理。这款处理器集成了多个关键功能组件&#xff0c;包括输入箝位电路、相关双采样器(CDS)、偏移DAC和可编程增益放大器(PGA)&#xff0c;并…

新手小白的pytorch学习第八弹------分类问题模型和简单预测

目录 1 启动损失函数和优化器2 训练模型创建训练和测试循环 3 预测和评估模型 这篇是接着新手小白的pytorch学习第七弹------分类问题模型这一篇的&#xff0c;代码也是哟~ 1 启动损失函数和优化器 对于我们的二分类问题&#xff0c;我们经常使用 binary cross entropy 作为损…

秋招突击——7/19——队列同步器AQS学习

文章目录 引言基础知识简介AQS接口和示例第一类&#xff1a;访问和修改同步状态的方法第二类&#xff0c;5个重写的方法第三类&#xff0c;9个模板方法 队列同步器实现原理同步队列独占式同步获取和释放共享式同步获取和释放独占式同步获取和释放 相关面试题怎么理解Lock和AQS的…

如何解决热插拔时的电压过冲

摘要 热插拔是指将上电电压源连接到电子器件的输入电源或电池连接器。热插拔产生的电压瞬态尖峰会损坏器件内部的集成电路。该文解释了此类电压瞬变的根本原因&#xff0c;并提供了防止这些瞬变损坏电子产品中的集成电路(IC) 的可能设计。 1 引言 当将高于 5V 的 USB 适配器…

达梦数据库的系统视图v$dmwatcher

达梦数据库的系统视图v$dmwatcher 查询当前登录实例所对应的守护进程信息&#xff0c;注意一个守护进程可以同时守护多个组的实例&#xff0c;因此查询结果中部分字段&#xff08;N_GROUP、SWITCH_COUNT&#xff09;为守护进程的全局信息&#xff0c;并不是当前登录实例自身的…

BUUCTF - Web - 1

文章目录 1. [极客大挑战 2019]EasySQL 1【SQL注入-万能密码】2. [极客大挑战 2019]Havefun 1【前端代码审计-注释泄漏】3. [HCTF 2018]WarmUp 1【PHP代码审计】4. [ACTF2020 新生赛]Include 1【PHP伪协议】5. [ACTF2020 新生赛]Exec 1【命令注入-基础】6. [GXYCTF2019]Ping Pi…

张量网络碎碎念:CGC

在本系列 上一篇文章 中&#xff0c;我介绍了张量网络的一些基础概念。其中很大一部分来自 github 上一个教程。事实上&#xff0c;该教程的大部分内容来自 e3nn 官网。 除了上篇文章介绍的一些可视化技巧&#xff0c;官网还提供了其他一些可视化模块。使用这些功能能使我们更深…

windows USB 设备驱动开发-开发Type C接口的驱动程序(三)

编写 USB Type C 端口控制器驱动程序 如果 USB Type-C 硬件实现 USB Type-C 或电源传送 (PD) 物理层&#xff0c;但未实现供电所需的状态机&#xff0c;则需要编写 USB Type-C 端口控制器驱动程序。 在 Windows 10 版本 1703 中&#xff0c;USB Type-C 体系结构已得到改进&am…

云监控(华为) | 实训学习day5(10)

Gaussdb安装和连接idea GaussDB的安装 首先关闭防火墙 systemctl disable firewalld.service 永久关闭防火墙&#xff08;发生在下次启动&#xff09; systemctl stop firewalld.service 关闭本次防火墙 查看防火墙状态systemctl status firewalld.service 查询的状态是Dead表…

【算法】百钱买百鸡问题算法详解及多语言实现

问题描述 百钱买百鸡问题是一个经典的数学问题&#xff0c;题目要求用100文钱买100只鸡&#xff0c;公鸡5文钱一只&#xff0c;母鸡3文钱一只&#xff0c;小鸡3只一文钱&#xff0c;问公鸡、母鸡、小鸡各买多少只&#xff1f; 目录 问题描述​编辑 解决方案 Python实现 Ja…

选择Maya进行3D动画制作与渲染的理由

如果你对3D动画充满热情并追求成为专业3D动画师的梦想&#xff0c;你一定听说过Maya——近年来3D动画的行业标准。Maya被3D艺术家广泛使用&#xff0c;你是否想知道为什么Maya总是他们的首选&#xff1f;下面一起来了解下。 一、什么是Maya&#xff1f; 由Autodesk开发的Maya是…