千家信息网

Python如何爬取京东的商品排行

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关Python如何爬取京东的商品排行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。确立需求目标之所以写爬虫,肯定
千家信息网最后更新 2026年11月02日Python如何爬取京东的商品排行

本篇文章给大家分享的是有关Python如何爬取京东的商品排行,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

确立需求目标

之所以写爬虫,肯定是有需求才会写,不然就没啥意义了。我们今天这个爬虫主要的任务就是,输入一个关键字,然后将京东返回的商品结果按一定的条件取得前十的商品名称和价格。知道了要干什么,就开始上干货吧。我也是一个初学者,不喜勿喷啊。

  • python3

  • urllib库

  • pyquery库

在爬取之前我们得先了解掌握python这个几个库的应用。

实战操作

第一步:

首先,我们先随便搜索一个名字,这里以电脑为例演示。通过连接,我们发现上面的域名链接里面提取到几个关键字,这个也是我们的重点,先拿到第一步的链接。

图中我们可以看到keyword和wq后面的值都是对应我们搜索的名称,那么我们后面肯定用的到,我们下面接着分析,先来抓个包看看,F12相信大家都会用。通过观察,我们发现当我们点击搜索后,它访问的第一个链接就是最上面的链接,参数正是我们输入的关键字,返回结果是一个网页源代码,经过对比正是我们当前的页面代码。

第二步:

通过上面的步骤分析,我们已经确定,京东的网页构造还是相对简单,直接返回网页源码,那我们只需用pyquery这个库的CSS方法提取我们需要的内容就行了。然后我们我们还发现其中的psort参数是代表搜索结果上面的销量,价格这些的。这个当然是我们点了两下试出来的,每个网站的构造都不同,这里不做解释了。下面代码中我写出了不同参数代表不同的规则了。你也可以自己手动点一点,看那个参数是什么。下面就不多说了,代码也是非常简单,大家自己看吧

import urllib.requestimport urllib.parsefrom pyquery import PyQuery as pq#转换编码并将链接中字符替换掉shuru=input('此程序为查询京东商品排行!\n请输入要查询的关键字:\n')shuru=urllib.parse.quote(shuru)#选择搜索结果的排序方式guize=input('请选择结果排序方式用数字0~5代表:\n0代表综合,1代表价格由高到低,2代表价格由低到高,3代表销量,4代表评价数,5代表新品:\n')guize=int(guize)if guize == 0:    psort = ''elif guize == 1:    psort = '&psort=1'elif guize == 2:    psort = '&psort=2'elif guize == 3:    psort = '&psort=3'elif guize == 4:    psort = '&psort=4'elif guize == 5:    psort = '&psort=5'print(psort)headers = {    'user-agent':' Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400',}#链接中psort为商品排行条件,3代表销量,4代表评论数,5代表新品,2代表价格升序,1代表价格降序,综合则没有此参数url="https://search.jd.com/Search?keyword="+shuru+"&wq="+shuru+psort+"&click=0"print('查询链接为:%s'%(url))response=urllib.request.Request(url,headers=headers)response=urllib.request.urlopen(response)#上述步骤已经拿到单个网页的源码,后面则进行分析提取有用数据。#用pyquery库对源码处理,然后利用CSS提取所需的信息res=pq(response.read().decode('utf-8'))lis=res('.gl-warp.clearfix .gl-i-wrap').items()i=1for li in lis:    ming=li('.p-name em').text()    jia=li('.p-price strong i').text()    print("第 %d 名\n%s"%(i,ming))    print('价格:¥%s\n\n'%(jia))    i=i+1    if i==11:        breakinput('输入任意字符退出')

以上就是Python如何爬取京东的商品排行,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

代表 价格 链接 商品 京东 参数 结果 搜索 关键 关键字 网页 面的 输入 不同 代码 就是 源码 销量 分析 查询 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技金融 互联网科技金融公司 智网互联网科技 鑫亿盛互联网科技 深圳艾佳互联网科技 互联网科技大会案例 互联网科技股午盘股票涨跌 江苏南京365互联网科技 团飞科技与伯堂互联网服务平台 阿里互联网科技公司 宁夏众和广鑫互联网科技有限公司 全球顶尖互联网科技公司 南平创想时代互联网科技有限公司 世界互联网领先科技成果获奖 怎样加入科技互联网 厦门江牛科技互联网 南京一网一红互联网科技有限公司 山东大美朱楼互联网科技有限公司 珠海东科互联网科技有限公司 互联网科技职业技能培训学校 互联网科技官网 华中科技大学互联网 恒生科技互联网指数分析 太原新华互联网科技学校怎么样 开一家科技互联网公司需要多少钱 银川新华互联网科技学校联系电话 西安左小互联网科技有限公司 悟空问答互联网科技 亚光科技低轨卫星互联网 杭州科技互联网公司有哪些
0