【原创】淘宝关键词搜索爬取与解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【原创】淘宝关键词搜索爬取与解析
本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!

淘宝关键词搜索及X5滑块

环境

  • win10、mac
  • Python3.9

根据关键词获取品牌列表

先根据搜索关键词获取到所有的品牌id:也就是ppath参数,目的是这样可以筛选更精准的数据,因为默认只显示100页数据

   defget_brand(self):

       """

       根据关键词获取品牌列表

       """

       headers= {

           "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",

           "Accept-Language": "zh-CN,zh;q=0.9",

           "Cache-Control": "no-cache",

           "Connection": "keep-alive",

           "Pragma": "no-cache",

           "Referer": "https://s.taobao.com/search?q=^%^E7^%^AC^%^94^%^E8^%^AE^%^B0^%^E6^%^9C^%^AC^%^E7^%^94^%^B5^%^E8^%^84^%^91&imgfile=&js=1&stats_click=search_radio_tmall^%^3A1&initiative_id=staobaoz_20230127&tab=mall&ie=utf8&bcoffset=0&p4ppushleft=^%^2C44&style=grid&s=0",

           "Sec-Fetch-Dest": "document",

           "Sec-Fetch-Mode": "navigate",

           "Sec-Fetch-Site": "same-origin",

           "Sec-Fetch-User": "?1",

           "Upgrade-Insecure-Requests": "1",

           "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",

           "sec-ch-ua": "^\\^Not_A",

           "sec-ch-ua-mobile": "?0",

           "sec-ch-ua-platform": "^\\^Windows^^",

       }

       cookies= {

           "cookie2": "1c1f03c4df47307258a30c65ce1db555",

       }

       url="https://s.taobao.com/search"

       params= {

           "q": self.word,

           "imgfile": "",

           "js": "1",

           "stats_click": "search_radio_tmall^%^3A1",

           "initiative_id": "staobaoz_20230127",

           "tab": "mall",

           "ie": "utf8",

           "style": "grid"

       }

       # response = requests.get(url, headers=headers, params=params)

       response=self._parse_url(url=url, headers=headers, params=params)

       ifnotresponse:

           yieldNone

       # print(response.text)

       res=re.findall(r'g_page_config = (.*?)};', response.text, re.M|re.S)

       ifnotres:

           yieldNone

       datas=jsonpath.jsonpath(json.loads(res[0] +"}"), "$..sub")

       ifnotdatas:

           yieldNone

       fordataindatas[0]:

           yielddata

根据关键词、品牌、销量搜索商品列表

具体的参数多抓几个包对比一下,很容易就分析出来了

   defget_products(self, ppath, page):

       """

       获取商品列表 根据销量排序

       ppath:品牌代码

       page:翻页

       """

       headers= {

           "Accept": "*/*",

           "Accept-Language": "zh-CN,zh;q=0.9",

           "Cache-Control": "no-cache",

           "Connection": "keep-alive",

           "Pragma": "no-cache",

           "Referer": "https://s.taobao.com/search?q=^%^E7^%^AC^%^94^%^E8^%^AE^%^B0^%^E6^%^9C^%^AC^%^E7^%^94^%^B5^%^E8^%^84^%^91&imgfile=&js=1&style=grid&stats_click=search_radio_tmall^%^3A1&initiative_id=staobaoz_20230127&tab=mall&ie=utf8&bcoffset=0&p4ppushleft=^%^2C44&cps=yes&ppath=20000^%^3A11119&sort=sale-desc&s=44",

           "Sec-Fetch-Dest": "script",

           "Sec-Fetch-Mode": "no-cors",

           "Sec-Fetch-Site": "same-origin",

           "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",

           "sec-ch-ua": "^\\^Not_A",

           "sec-ch-ua-mobile": "?0",

           "sec-ch-ua-platform": "^\\^Windows^^",

       }

       url="https://s.taobao.com/search"

       params= {

           "data-key": "s",

           "data-value": page,

           "ajax": "true",

           "_ksTS": "1674837683322_2012",

           "callback": "jsonp2013",

           "q": self.word,

           "imgfile": "",

           "js": "1",

           "style": "grid",

           "stats_click": "search_radio_tmall^%^3A1",

           "initiative_id": "staobaoz_20230127",

           "tab": "mall",

           "ie": "utf8",

           "bcoffset": "0",

           "p4ppushleft": "^%^2C44",

           "cps": "yes",

           "ppath": ppath,

           "sort": "sale-desc",

           "s": ''

       }

       # 第一页的时候请求参数不一样

       ifpage==1:

           params['data-value'] ='0,1'

           params['data-key'] ='s,ps'

           params['s'] = (int(page) -1) *44

       else:

           params['data-value'] =int(page) *44

           params['s'] = (int(page)-1) *44

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

       returnresponse.text

滑块处理

触发滑块后,搜索并定位appkey,抓到punish.js提取验证所需参数:''appkey': 'X82Y__4efeef942d19c56bafab18ba3da969f4''token': '1c797559e58912c4ee46af4bd6371aec',生成x5sec:"7b2277616762726964676561643b32223a223037393766353232633166646661326337346262333664616130356462383031434e434337497747454e7a746b2b7a356f493771495367454d4b447a344a4146227d"  

效果

资源下载

数据demo下载:https://mp.csdn.net/mp_download/manage/download/UpDetailed


本文仅供学习交流使用,如侵立删!


相关文章
|
1月前
|
存储 缓存 搜索推荐
Lazada淘宝详情API的价值与应用解析
在电商行业,数据是驱动业务增长的核心。Lazada作为东南亚知名电商平台,其商品详情API对电商行业影响深远。本文探讨了Lazada商品详情API的重要性,包括提供全面准确的商品信息、增强平台竞争力、促进销售转化、支持用户搜索和发现需求、数据驱动决策、竞品分析、用户行为研究及提升购物体验。文章还介绍了如何通过Lazada提供的API接口、编写代码及使用第三方工具实现实时数据获取。
57 3
|
3月前
|
自然语言处理 数据可视化 API
淘宝商品评论 API 接口:深度解析用户评论,优化产品与服务
淘宝是领先的中国电商平台,其API为开发者提供商品信息、交易记录及用户评价等数据访问服务。对于获授权的开发者和商家,可通过申请API权限、获取并解析评论数据来进行情感分析和统计,进而优化产品设计、提升服务质量、增强用户互动及调整营销策略。未授权用户可能受限于数据访问。
|
2月前
|
存储 缓存 自然语言处理
深度解析ElasticSearch:构建高效搜索与分析的基石
【9月更文挑战第8天】在数据爆炸的时代,如何快速、准确地从海量数据中检索出有价值的信息成为了企业面临的重要挑战。ElasticSearch,作为一款基于Lucene的开源分布式搜索和分析引擎,凭借其强大的实时搜索、分析和扩展能力,成为了众多企业的首选。本文将深入解析ElasticSearch的核心原理、架构设计及优化实践,帮助读者全面理解这一强大的工具。
192 7
|
2月前
|
XML JSON API
淘宝京东商品详情数据解析,API接口系列
淘宝商品详情数据包括多个方面,如商品标题、价格、图片、描述、属性、SKU(库存量单位)库存、视频等。这些数据对于买家了解商品详情以及卖家管理商品都至关重要。
|
3月前
|
存储 数据采集 API
提升店铺好评秘籍:淘宝商品评论接口与电商 API 接口的深度解析
该接口名为item_review,用于获取淘宝商品评论信息,支持HTTP GET或POST请求,体验API为c0b.cc/R4rbK2。主要请求参数包括商品ID(num_iid)、排序方式(sort)、页码(page)。响应参数涵盖评论内容(rate_content)、评论日期(rate_date)、评论图片(pics)、买家昵称(display_user_nick)、商品属性(auction_sku)
|
4月前
|
算法 安全 API
淘宝获得淘口令真实URL接口的技术解析
淘口令是淘宝的加密链接,用于商品推广。官方未提供直接解密API,但第三方工具或API能模拟解析。示例代码展示了如何通过第三方接口(需替换为真实接口)获取淘口令所对应的URL、标题和图片信息,但使用时需注意安全风险。
118 2
|
4月前
|
算法 C++
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
42 2
|
4月前
|
人工智能 自然语言处理 搜索推荐
阿里云搜索开发工作台:快速搭建AI语义搜索与RAG链路的深度解析
阿里云搜索开发工作台凭借其丰富的组件化服务和强大的模型能力,为企业快速搭建AI语义搜索及RAG链路提供了有力支持。通过该平台,企业可以灵活调用各种服务,实现高效的数据处理、查询分析、索引构建和文本生成等操作,从而大幅提升信息获取与处理能力。随着AI技术的不断发展,阿里云搜索开发工作台将继续优化和完善其服务,为企业数字化转型和智能化升级注入更强动力。
161 0
|
5月前
深入解析AVL树:高效实现二叉平衡搜索树(2)
深入解析AVL树:高效实现二叉平衡搜索树
25 1
|
5月前
|
存储
深入解析AVL树:高效实现二叉平衡搜索树
深入解析AVL树:高效实现二叉平衡搜索树
24 1
下一篇
无影云桌面