python爬虫实战-京东商品数据

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

今天介绍一下如何用 Python 来批量获取京东商品信息!!

如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码

第三方库:

  • requests >>> pip install requests

开发环境:

  • python 3.8

  • pycharm 专业版

爬虫具体实现流程

一. 思路分析

找到数据来源 (找到 数据所在的链接地址)

https://api.m.jd.com/?appid=search-pc-java&functionId=pc_search_s_new&client=pc&clientVersion=1.0.0&t=1697545127305&body=%7B%22keyword%22%3A%22iPhone%22%2C%22qrst%22%3A%221%22%2C%22wq%22%3A%22iPhone%22%2C%22ev%22%3A%22exbrand_Apple%5E%22%2C%22pvid%22%3A%22c2a8f09dbfa044a6a12f860e20edb6c7%22%2C%22isList%22%3A0%2C%22page%22%3A%223%22%2C%22s%22%3A%2256%22%2C%22click%22%3A%220%22%2C%22log_id%22%3A%221697544397338.9790%22%2C%22show_items%22%3A%22%22%7D&loginType=3&uuid=122270672.1675327822068798256204.1675327822.1696749738.1697544369.7&area=18_1482_48942_49058&h5st=20231017201847323%3Bg5giig9tnm63gij2%3Bf06cc%3Btk03wbde31c7218nmTOuI4vmUG1gibUwyDKLNpF6B_t1uk9ukpSq3k_k19h74PyUWE_Fz9mV-ggz4JCtsVbQZVSId9dC%3B7710a41bb85a10fe65109f794fb3b815%3B4.1%3B1697545127323%3Bee3cf7f6b94dc20e9265d83066bb9ceece4bb89e2b7e8bf5afb1bfd928788174bfa06c210ddd4437d8a2e234330c3a3980b96c3953b1ab788029ae792b39e113ccac142f09e3a1fa8c3f25055353b835ed0bf65228424626b8a9e1d2c030999d9be97a9dee9fb20116ceb0deb8736546109bc1cf5b91d1dfa2b39c79b3b0f0a5a036cdc921a1f147179b291c830dc87a6d3d0c3885fe721d5f0391a55bb4bf663963282084e04c7f24e6d3bcb219f4cbb08d3f76f13bca81938336d1934b88ded260caabac20e37a63dd3f6a093fd5dd2d936e95b67fee9654732d8a2908d96fe4b8d0a0b9d9b65996563d4cb94925fd651106c8e7c1234f63f57b1baa40324d6e8969e5c7b48e35e2c4bc5d325e88db237e42c33d6b256ebc720e76f574f34b&x-api-eid-token=jdd03BFXLLB72GO2GWA4OW3JSYXJPOVRF3WAKAKETOTSMNISZ6VIJTLEVQKEHWUA6VLD7ORS2QYC55PWBVUZVPZTXPDCHZUAAAAMLHWDXLUYAAAAACL4BJCT4CQASEEX

二. 代码实现

  1. 发送请求 (访问网站)

  2. 提取数据 将需要的内容提取出来

  3. 保存数据

详情页: 评论数量 销量 商品介绍 店铺评分

翻页抓取: 如何实现翻页抓取

一页分为两部分加载 每个部分 30条数据

翻页的规律:

第二页的第一个包和第二个包的对比

t: 1697545127305
2-1-body: {"keyword":"iPhone","qrst":"1","wq":"iPhone","ev":"exbrand_Apple^","pvid":"c2a8f09dbfa044a6a12f860e20edb6c7","isList":0,"page":"3","s":"56","click":"0","log_id":"1697544397338.9790","show_items":""}
3-1-body: {"keyword":"iPhone","qrst":"1","wq":"iPhone","ev":"exbrand_Apple^","pvid":"c2a8f09dbfa044a6a12f860e20edb6c7","isList":0,"page":"5","s":"116","click":"0","log_id":"1697546973358.2929","show_items":""}
2-2-body: {"keyword":"iPhone","qrst":"1","wq":"iPhone","ev":"exbrand_Apple^","pvid":"c2a8f09dbfa044a6a12f860e20edb6c7","page":"4","s":"86","scrolling":"y","log_id":"1697545127114.3155","tpl":"3_M","isList":0,"show_items":""}
3-2-body: {"keyword":"iPhone","qrst":"1","wq":"iPhone","ev":"exbrand_Apple^","pvid":"c2a8f09dbfa044a6a12f860e20edb6c7","page":"6","s":"146","scrolling":"y","log_id":"1697547015728.2990","tpl":"3_M","isList":0,"show_items":""}

page每次累加1

s每次累加 30

1-1: s 1
1-2: s 26
2-1: s 56
2-2: s 86
...
...
h5st: 20231017201847323;g5giig9tnm63gij2;f06cc;tk03wbde31c7218nmTOuI4vmUG1gibUwyDKLNpF6B_t1uk9ukpSq3k_k19h74PyUWE_Fz9mV-ggz4JCtsVbQZVSId9dC;7710a41bb85a10fe65109f794fb3b815;4.1;1697545127323;ee3cf7f6b94dc20e9265d83066bb9ceece4bb89e2b7e8bf5afb1bfd928788174bfa06c210ddd4437d8a2e234330c3a3980b96c3953b1ab788029ae792b39e113ccac142f09e3a1fa8c3f25055353b835ed0bf65228424626b8a9e1d2c030999d9be97a9dee9fb20116ceb0deb8736546109bc1cf5b91d1dfa2b39c79b3b0f0a5a036cdc921a1f147179b291c830dc87a6d3d0c3885fe721d5f0391a55bb4bf663963282084e04c7f24e6d3bcb219f4cbb08d3f76f13bca81938336d1934b88ded260caabac20e37a63dd3f6a093fd5dd2d936e95b67fee9654732d8a2908d96fe4b8d0a0b9d9b65996563d4cb94925fd651106c8e7c1234f63f57b1baa40324d6e8969e5c7b48e35e2c4bc5d325e88db237e42c33d6b256ebc720e76f574f34b
h5st: 20231017204933583;g5giig9tnm63gij2;f06cc;tk03wbde31c7218nmTOuI4vmUG1gibUwyDKLNpF6B_t1uk9ukpSq3k_k19h74PyUWE_Fz9mV-ggz4JCtsVbQZVSId9dC;0ed5b74f81ac6ded4aeee2f615d6e03f;4.1;1697546973583;ee3cf7f6b94dc20e9265d83066bb9ceece4bb89e2b7e8bf5afb1bfd928788174bfa06c210ddd4437d8a2e234330c3a3980b96c3953b1ab788029ae792b39e113ccac142f09e3a1fa8c3f25055353b835ed0bf65228424626b8a9e1d2c030999d9be97a9dee9fb20116ceb0deb8736546109bc1cf5b91d1dfa2b39c79b3b0f0a5a036cdc921a1f147179b291c830dc87a6d3d0c3885fe721d5f0391a55bb4bf663963282084e04c7f24e6d3bcb219f4cbfe11ef406022b163c00824a22a034ed25520965f3f71ba25eca1fe340990d9a3c4d0100fbc84b1e9094cbe21ed8f59acc7a3bfd1bdd706f19bc06fd1d9a10233e68a2c851f66633c3357188dfeec7cc88dc36ba5ab73fac1ee81fd17352694c31f5a0096b50478e73a7b645153333271

代码展示

import requests     # 发送请求 第三方库 (需要安装)
import parsel       # 第三方库 用来提取网页源代码的
import csv          # 内置模块 无需安装
import timewith open("jingdong.csv", mode='w', newline='', encoding='utf-8') as f:csv.writer(f).writerow(['title', 'price', 'shop', 'detail_url'])
headers = {'Cookie': '__jdu=1675327822068798256204; shshshfpa=a8c4d3ab-4de2-1594-07c6-96937703bc48-1675511732; shshshfpx=a8c4d3ab-4de2-1594-07c6-96937703bc48-1675511732; shshshfp=df23b3178a68c52485e728025047439d; areaId=18; _pst=jd_7449b8b770c1a; unick=u_y14qxm7bysay; pin=jd_7449b8b770c1a; _tp=vZPPhy6cqARc6L2%2B3nOzUq3kCs2OWuApKpEwLezV01A%3D; unpl=JF8EAMhnNSttDRsGBx9XExcQHAlVWw4ATx4LP2JXXFpYSVwHS1VPGhl7XlVdXxRLFh9vYRRXXFNKUw4aCysSEXteXVdZDEsWC2tXVgQFDQ8VXURJQlZAFDNVCV9dSRZRZjJWBFtdT1xWSAYYRRMfDlAKDlhCR1FpMjVkXlh7VAQrAhwUFEleUldeC0oQCmlvDFdZX0hVACsDKxUge21UWloLQxczblcEZB8MF1EHGwcZFV1LWlJaXwtNHgBsZgJdW1BCVwEcARoXIEptVw; __jdv=76161171|baidu-pinzhuan|t_288551095_baidupinzhuan|cpc|0f3d30c8dba7459bb52f2eb5eba8ac7d_0_dac35d941fe04b9589a4c961393afe98|1697544369451; PCSYCityID=CN_430000_430100_0; jsavif=1; __jda=122270672.1675327822068798256204.1675327822.1696749738.1697544369.7; __jdc=122270672; wlfstk_smdl=zqjf27ll62rd5uge85230utp29qi2wv2; logintype=qq; npin=jd_7449b8b770c1a; thor=459E9A0707CDD36020E74D14717A705AD6CEE67A8D55FEDAACBD33B9D31511E6AA1AEEA695BDBF1921A135769B716889400BBD0DCF1CCB0F3B325202A6A3E27AD6388CDB3EBDB3F0B59C1377A16E8774FACFD9FCFC04AEE31844B7ABFC6C39EE9C2F52540A2CCF902FCA67B460688F87FCAC3279B369769DBB94CCADFE20BF7EE14A8666D30DEFBBA7837A308B8165AD71D91B839EF96E5CCB7F2F0026C5679B; flash=2_ZrWfSfPGSnxmE-YDUlWOCIWikxr51SV82QCigp8WUVY6X70ebZL51YYs2-iD8o1O6FnCUtUnKJhz7L-PsPM9Ts6kNGDO2_sAyca7PjZdqqN*; pinId=f_SKjtPUQ3D1_NrwwoSZkrV9-x-f3wj7; shshshsID=e63b3af9ee1f8ba7e59ca5c63186d670_3_1697544398707; 3AB9D23F7A4B3C9B=BFXLLB72GO2GWA4OW3JSYXJPOVRF3WAKAKETOTSMNISZ6VIJTLEVQKEHWUA6VLD7ORS2QYC55PWBVUZVPZTXPDCHZU; token=49a2f429c466477218207fee65086990,3,943080; __tk=IsupJpIwkDtzkvnzkDjFJsAwjiJTIskqlsuoJpt1jpSykpfojUbTIS,3,943080; 3AB9D23F7A4B3CSS=jdd03BFXLLB72GO2GWA4OW3JSYXJPOVRF3WAKAKETOTSMNISZ6VIJTLEVQKEHWUA6VLD7ORS2QYC55PWBVUZVPZTXPDCHZUAAAAMLHWJEJRYAAAAACH56UEPWVWMVU4X; _gia_d=1; __jdb=122270672.5.1675327822068798256204|7.1697544369; shshshfpb=AAidGkj2LEsTTq03iFZQHxpaTdwO8SBZ1URcyTgAAAAA; ipLoc-djd=18-1482-48942-49058','Origin': '**屏蔽,完整源码可+我 V:python10010免费领 好友验证备注:6***','Referer': '**屏蔽**','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
s = 1
for page in range(1, 121):t = int(time.time() * 1000)body = '{"keyword":"iPhone","qrst":"1","wq":"iPhone","ev":"exbrand_Apple^","pvid":"c2a8f09dbfa044a6a12f860e20edb6c7","isList":0,"page":"'+str(page)+'","s":"'+str(s)+'","click":"0","log_id":"1697547020245.6899","show_items":""}'if page == 2:s = 26body = '{"keyword":"iPhone","qrst":"1","wq":"iPhone","ev":"exbrand_Apple^","pvid":"c2a8f09dbfa044a6a12f860e20edb6c7","isList":0,"page":"' + str(page) + '","s":"' + str(s) + '","click":"0","log_id":"1697547020245.6899","show_items":""}'elif page > 2:s += 30if page % 2 == 0:body = '{"keyword":"iPhone","qrst":"1","wq":"iPhone","ev":"exbrand_Apple^","pvid":"c2a8f09dbfa044a6a12f860e20edb6c7","page":"'+str(page)+'","s":"'+str(s)+'","scrolling":"y","log_id":"1697545127114.3155","tpl":"3_M","isList":0,"show_items":""}'else:body = '{"keyword":"iPhone","qrst":"1","wq":"iPhone","ev":"exbrand_Apple^","pvid":"c2a8f09dbfa044a6a12f860e20edb6c7","isList":0,"page":"'+str(page)+'","s":"'+str(s)+'","click":"0","log_id":"1697544397338.9790","show_items":""}'params = {'appid': 'search-pc-java','functionId': 'pc_search_s_new','client': 'pc','clientVersion': '1.0.0','t': str(t),'body': body,'loginType': '3','uuid': '122270672.1675327822068798256204.1675327822.1696749738.1697544369.7','area': '18_1482_48942_49058','h5st': '20231017205657848;g5giig9tnm63gij2;f06cc;tk03wbde31c7218nmTOuI4vmUG1gibUwyDKLNpF6B_t1uk9ukpSq3k_k19h74PyUWE_Fz9mV-ggz4JCtsVbQZVSId9dC;825dbf6bd60713fa1ddad5e95d169108;4.1;1697547417848;ee3cf7f6b94dc20e9265d83066bb9ceece4bb89e2b7e8bf5afb1bfd928788174bfa06c210ddd4437d8a2e234330c3a3980b96c3953b1ab788029ae792b39e113ccac142f09e3a1fa8c3f25055353b835ed0bf65228424626b8a9e1d2c030999d9be97a9dee9fb20116ceb0deb8736546109bc1cf5b91d1dfa2b39c79b3b0f0a5a036cdc921a1f147179b291c830dc87a6d3d0c3885fe721d5f0391a55bb4bf663963282084e04c7f24e6d3bcb219f4cb08a33c86f2c515c368479ab2fffd0f4935b373832965c1ba9aa292710f7023e99dac2e1bde15cd796fe1601c5425e954a8cebb66dc24031fb337c7d79d2a6f46c875d77cbc102770fd5125f99aaa366d5abac9c006c2f0275731844dd1353f808489e029e35b485616771b972ae3bb95','x-api-eid-token': 'jdd03BFXLLB72GO2GWA4OW3JSYXJPOVRF3WAKAKETOTSMNISZ6VIJTLEVQKEHWUA6VLD7ORS2QYC55PWBVUZVPZTXPDCHZUAAAAMLHWDXLUYAAAAACL4BJCT4CQASEEX',}url = '**屏蔽,完整源码可+我 V:python10010免费领 好友验证备注:6***/'# 1. 发送请求 (访问网站)response = requests.get(url=url, params=params, headers=headers)# 2. 提取数据 将需要的内容提取出来html_data = response.text# 怎么样提取网页源代码当中的内容select = parsel.Selector(html_data)# //ul[@class="gl-warp clearfix"]/li# 拿到了每个商品所属的标签lis = select.xpath('//ul[@class="gl-warp clearfix"]/li')for li in lis:# li.xpath('string(.//div[@class="p-name p-name-type-2"])').get()title = li.xpath('string(.//div[@class="p-name p-name-type-2"])').get("").strip()price = li.xpath('string(.//div[@class="p-price"])').get("").strip()shop = li.xpath('string(.//div[@class="p-shop"])').get("").strip()detail_url = "https:"+li.xpath('.//div[@class="p-name p-name-type-2"]/a/@href').get("")print(title, price, shop, detail_url)# 3. 保存数据with open("jingdong.csv", mode='a', newline='', encoding='utf-8') as f:csv.writer(f).writerow([title, price, shop, detail_url])

尾语

好了,今天的分享就差不多到这里了!

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇 更多源码、资料、素材、解答、交流 皆点击下方名片获取呀👇👇👇

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

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

相关文章

【iOS】——用单例类封装网络请求

文章目录 一、JSONModel1.JSONModel的简单介绍2.JSONModel的使用 二、单例类和Block传值 一、JSONModel 1.JSONModel的简单介绍 JSONModel一个第三方库,这个库用来将网络请求到的JSON格式的数据转化成Foundation框架下的Model类的属性,这样我们就可以直…

Elasticsearch基础篇(五):创建es索引并学习分析器、过滤器、分词器的作用和配置

创建es索引并学习分析器、过滤器、分词器的作用和配置 一、基础概念Elasticsearch与MySQL的类比1. ES与MySQL的结构类比图2. ES与MySQL的类比示意表格3. 索引中重要概念索引(Index)文档(Document)字段(Field&#xff0…

2023.10.18 区别 对象 和 类对象

目录 对象 类对象 总结 对象 对象是类的实例化结果它是内存中的一块区域,包含了该类的属性和方法的具体值和实现对象具有唯一的标识、状态、行为通过创建类的实例,我们可以在程序中操作和处理具体的对象 简单实例 class Person {public int high 1…

车载开发学习——CAN总线

CAN总线又称为汽车总线,全程为“控制器局域网(Controller Area Network)”,即区域网络控制器,它将区域内的单一控制单元以某种形式连接在一起,形成一个系统。在这个系统内,大家以一种大家都认可…

Netty系列教程之NIO基础知识

近30集的孙哥视频课程,看完一集整理一集来的,内容有点多,请大家放心食用~ 1. 网络通讯的演变 1.1 多线程版网络通讯 在传统的开发模式中,客户端发起一个 HTTP 请求的过程就是建立一个 socket 通信的过程,服务端在建立…

VR全景图片如何拍摄制作,拍摄制作过程中要注意什么?

引言: VR全景图片就是通过专业的相机设备捕捉到的一个空间的高清图像,再经过专业工具进行拼合,呈现出一种环绕式的视觉效果。想象一下,当你站在一个完全真实的环境中,可以自由地转动视角,看到四周的景色&a…

高数定理集合啦

haha~ 最近在准备数学竞赛,好久没有发布笔记啦,今天就来一波高数里常用的定理吧,不全面的话后续会更新哒~ 费马定理:对于一个函数的局部极值点,如果导数存在,那么导数在该点处必须为零,即 f(x)0…

SQL数据库管理工具RazorSQL mac中文版特点与功能

RazorSQL mac是一款功能强大的SQL数据库管理工具,它支持多种数据库,包括MySQL、Oracle、Microsoft SQL Server、SQLite、PostgreSQL等。 RazorSQL mac 软件特点和功能 多种数据库支持:RazorSQL支持多种数据库,用户可以通过一个工…

基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习高级应用

查看原文>>>【案例教程】基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习高级应用 Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析…

安装Elasticsearch步骤(包含遇到的问题及解决方案)

注:笔者是在centos云服务器环境下安装的Elasticsearch 目录 1.安装前准备 2.下载Elasticsearch 3.启动Elasticsearch 非常容易出问题 第一次运行时,可能出现如下错误: 一、内存不足原因启动失败 二、使用root用户启动问题 三、启动ES自…

uniapp使用uQRCode绘制二维码,下载到本地,调起微信扫一扫二维码核销

1.效果 2.在utils文件夹下创建uqrcode.js // uqrcode.js //--------------------------------------------------------------------- // github https://github.com/Sansnn/uQRCode //---------------------------------------------------------------------let uQRCode {…

第二证券:A股三季报披露全面启动 多领域上市公司业绩表现亮点纷呈

A股上市公司三季报宣告全面发动。Wind数据闪现,到10月17日记者发稿,来自沪深北三大交易所近80家上市公司首要晒出了最新运营效果体现的“效果单”。本周,相关财报宣告家数也将增至270家左右。与此同时,10月以来,亦有不…

怎么把图片改成jpg格式?

怎么把图片改成jpg格式?大家都知道,随着计算机被发明到现在已经存在了很多年,在这么多的的技术发展过程中,也形成了种类非常多的图片文件格式,例如平时我们能接触到的图片格式有jpg、png、gif、bmp、heic、tiff、jfif、…

vcpkg manifest 的使用

最近项目上要使用 CMakeLists 管理,由于 Windows 版本有依赖到 vcpkg 提供的库,所以需要使用 vcpkg manifest 来统一设置库的版本,方便后续维护 推荐一个文章,介绍的可以说是非常全面了 VCPKG 特性 - Versioning 不过里面也有一些…

C++标准库算法整理

目录 1、数值操作 1.1、std::accumulate 1.2、std::inner_product 1.3、std::partial_sum 1.4、std::exclusive_scan 1.5、std::inclusive_scan 1.6、std::reduce 2、相邻元素 2.1、std::adjacent_difference 2.2、std::adjacent_find 2.3、std::unique 2.4、std::u…

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在 一个解析漏洞,在解析PHP时,1.php\x0a将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。 影响范围 apache :2.4.0~2.…

易点易动设备管理系统帮助生产企业提升设备巡检效率

在现代制造业中,设备的正常运行对于生产企业的成功至关重要。然而,设备巡检是确保设备安全性和可靠性的关键环节,但却常常耗费大量时间和资源。为了解决这个问题,许多企业采用了现代化的设备管理系统,其中易点易动设备…

山西电力市场日前价格预测【2023-10-19】

日前价格预测 预测说明: 如上图所示,预测明日(2023-10-19)山西电力市场全天平均日前电价为210.83元/MWh。其中,最高日前电价为337.00元/MWh,预计出现在18: 30。最低日前电价为0.00元/MWh,预计出…

在Maven中配置代理服务器的详细教程

在Maven中配置代理服务器的详细教程如下: 首先,确保您已经安装了Maven。创建一个新的Maven项目。在命令行中输入以下命令: mvn archetype:generate -DgroupIdcom.example -DartifactIdmy-app -DarchetypeArtifactIdmaven-archetype-quickst…

【数据结构】Java对象的比较

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力…