news 2026/4/18 3:46:57

京东搜索关键词

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
京东搜索关键词

你现在关注的是京东爬虫中的关键词相关知识点,包括关键词的 URL 处理、构造技巧、在爬虫中的使用注意事项等,我会围绕这部分展开详细讲解,衔接之前的爬虫实战内容。

一、京东搜索关键词的核心特性

  1. 支持中文直接搜索:京东官网支持中文关键词输入(如 “笔记本电脑”、“华为手机”),但在 HTTP 请求中,中文关键词会被自动进行URL 编码(将中文转换为%XX格式的字符串)。
  2. 关键词与搜索结果的关联性:关键词的精准度决定爬取结果的相关性,京东搜索会对关键词进行分词匹配(如 “Python 实战书籍” 会拆分匹配 “Python”、“实战”、“书籍”)。
  3. 请求参数中的关键词传递:在之前的爬虫代码中,关键词通过params字典的"keyword""wq"字段传递,其中"wq"字段是京东的补全搜索参数,与主关键词保持一致可提高请求成功率。

二、关键词的 URL 编码处理

1. 自动编码(推荐,爬虫首选)

在使用requests库发送请求时,将关键词直接传入params参数,requests自动完成中文关键词的 URL 编码,无需手动处理,这也是之前代码中采用的方式,示例:

python

运行

import requests from fake_useragent import UserAgent ua = UserAgent() headers = {"User-Agent": ua.random} # 直接传入中文关键词,无需手动编码 keyword = "Python实战书籍" url = "https://search.jd.com/Search" params = { "keyword": keyword, "enc": "utf8", "page": 1 } # requests会自动将“Python实战书籍”编码为URL可识别格式 response = requests.get(url, params=params, headers=headers, timeout=15) print("最终请求URL:", response.url) # 可查看编码后的完整URL

2. 手动编码(备用方案)

若需手动处理关键词编码,可使用 Python 内置的urllib.parse.quote()方法,适用于不使用requests参数传递的场景,示例:

python

运行

from urllib.parse import quote # 中文关键词手动URL编码 keyword = "Python实战书籍" encoded_keyword = quote(keyword, encoding="utf-8") # 指定utf-8编码(京东要求) print("编码后关键词:", encoded_keyword) # 输出:Python%E5%AE%9E%E6%88%98%E4%B9%A6%E7%B1%8D # 手动构造编码后的URL url = f"https://search.jd.com/Search?keyword={encoded_keyword}&enc=utf8&page=1"

三、关键词的构造与优化技巧(提升爬取精准度)

1. 精准关键词构造(获取目标商品)

  • 带品牌 / 型号:如 “华为 Mate 60 Pro 手机”、“联想拯救者 Y9000P 笔记本”
  • 带规格 / 参数:如 “16G 512G 轻薄笔记本”、“500ml 保温杯 316 不锈钢”
  • 带用途:如 “办公用激光打印机”、“学生党平价平板电脑”

2. 模糊关键词构造(获取泛类商品)

适用于爬取某一类商品的整体信息,如 “笔记本电脑”、“休闲零食”、“家居收纳用品”,这类关键词返回结果数量多,适合批量学习爬虫数据处理。

3. 排除式关键词(过滤无关结果)

京东支持使用-符号排除无关内容,构造关键词时可利用这一规则提升爬取结果的精准度,示例:

  • 关键词 “笔记本电脑 - 游戏本”:爬取非游戏本的笔记本电脑
  • 关键词 “保温杯 - 塑料 - 儿童”:爬取成人用、非塑料材质的保温杯

四、爬虫中关键词使用的注意事项

  1. 避免敏感关键词:勿爬取涉及违禁品、侵权商品、医疗药品等敏感关键词的内容,遵守平台规则和法律法规。
  2. 关键词格式化处理:去除关键词前后的空格、特殊字符(如#@),避免请求失败或返回无效结果,示例:

    python

    运行

    def format_keyword(keyword): """关键词格式化:去空格、去特殊字符""" # 去除前后空格 keyword = keyword.strip() # 去除常见无效特殊字符 invalid_chars = ["#", "@", "¥", "★", "☆"] for char in invalid_chars: keyword = keyword.replace(char, "") return keyword # 格式化使用 raw_keyword = " ¥Python书籍★实战 " target_keyword = format_keyword(raw_keyword) print("格式化后关键词:", target_keyword) # 输出:Python书籍实战
  3. 防止中文乱码:无论是关键词传递还是结果保存,均统一使用utf-8编码(与之前爬虫代码中的response.encoding = "utf-8"、文件保存encoding="utf-8"保持一致)。
  4. 批量关键词爬取的延时控制:若需循环爬取多个关键词(如 ["Python 书籍", "Java 书籍", "C++ 书籍"]),需在关键词之间添加额外延时(≥3 秒),避免高频请求触发反爬,示例:

    python

    运行

    import time from fake_useragent import UserAgent # 批量关键词列表 keyword_list = ["Python书籍", "Java书籍", "C++书籍"] for keyword in keyword_list: print(f"开始爬取关键词:{keyword}") goods_list = get_jd_goods(keyword=keyword, page=1) # 调用之前的爬虫函数 save_goods_to_txt(goods_list, keyword) # 关键词之间添加3秒延时,强化反爬 time.sleep(3)

五、补充:京东关键词搜索的特殊规则

  1. 关键词中的空格代表 “并列匹配”:如 “手机 快充”,会匹配同时包含 “手机” 和 “快充” 的商品。
  2. 双引号包裹关键词代表精确匹配:如"Python核心编程",会严格匹配完整关键词,不进行分词拆分,爬取结果更精准(需注意:双引号传入请求时无需转义,requests会自动处理)。
  3. 部分特殊符号(如*?)在京东搜索中无效,爬虫中构造关键词时可直接剔除。

总结

  1. 京东爬虫中,中文关键词优先使用requests自动 URL 编码,无需手动处理,简洁高效。
  2. 关键词的精准构造(带品牌 / 规格)和格式化处理,是提升爬取结果相关性的关键。
  3. 批量关键词爬取时,需添加额外延时,同时避免敏感关键词,遵守爬虫合规原则。
  4. 衔接之前的实战代码,修改target_keyword变量为不同优化后的关键词,即可获取对应的商品列表。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 17:35:07

揭秘C# 交错数组修改难题:5种实战场景下的最佳解决方案

第一章:C# 交错数组修改的核心挑战在C#中,交错数组(Jagged Array)是由数组组成的数组,其每一行可以具有不同的长度。这种灵活性带来了便利,也引入了在修改操作中的若干核心挑战。由于每一维度的内存布局是独…

作者头像 李华
网站建设 2026/3/30 10:19:15

HeyGem数字人系统部署常见问题解答:网络、浏览器与存储注意事项

HeyGem数字人系统部署常见问题解答:网络、浏览器与存储注意事项 在企业级AI应用日益普及的今天,数字人视频生成正快速渗透进智能客服、虚拟主播和在线教育等多个领域。HeyGem 作为一款基于深度学习的口型同步合成系统,凭借其直观的 WebUI 界…

作者头像 李华
网站建设 2026/4/15 22:06:05

基于springboot+vue的热门文创内容推荐平台

背景分析文创产业作为文化与科技融合的新兴领域,近年来快速发展,但用户面临信息过载、个性化推荐不足等问题。传统推荐方式依赖人工筛选,效率低且难以满足用户多样化需求。SpringBoot与Vue的结合为构建智能化、高响应的推荐平台提供了技术基础…

作者头像 李华
网站建设 2026/4/16 22:32:33

PBR_Anisotropy展示金属球在不同粗糙度、各向异性方向下的反光表现

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①vtkTexture贴图,②高动态环境…

作者头像 李华
网站建设 2026/4/4 15:38:25

【C#企业系统部署终极指南】:揭秘高效稳定上线的5大核心策略

第一章:C#企业系统部署的核心挑战与目标 在现代企业级应用开发中,C#凭借其强大的生态系统和.NET平台的高性能支持,广泛应用于金融、制造、医疗等关键业务系统。然而,将C#系统从开发环境平稳迁移至生产环境,仍面临诸多挑…

作者头像 李华