python实战案例 —— 获取 淘 商品数据

news2024/11/18 12:27:14

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

开发环境:

  • python 3.8

  • pycharm 专业版

第三方库:

  • requests >>> pip install requests

模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

具体实现流程

一. 先找到 数据来源

https://h5api.m.taobao.com/h5/mtop.relationrecommend.wirelessrecommend.recommend/2.0/

二. 代码实现

  1. 发送请求 (用代码 访问对应的网址)

  2. 获取数据

  3. 解析数据 (提取数据 将我们需要的内容提取出来 不需要的 丢弃)

  4. 保存数据 (表格文件)

代码展示

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import requests
import csv

with open('taobao.csv', mode='a', newline='', encoding='utf-8') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow(['title', 'priceWap', 'realSales', 'procity', 'nick', 'shop_title', 'auctionURL'])


headers = {
    'authority': 'h5api.m.taobao.com',
    'accept': '*/*',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cache-control': 'no-cache',
    # Requests sorts cookies= alphabetically
    'cookie': '_samesite_flag_=true; cookie2=17fdc5f669116c8d75f67ce944c6ba17; t=667fdce39eab056ef7b19da8e7fe353b; _tb_token_=5689eeae7e3ef; cna=mu+mHRxCj1QCAa8N4mhCCr/s; xlly_s=1; sgcookie=E1007RsuvyYcofrTp60eUzEeYuREh%2BLhQATs2YCXeu1Q5ztqk2sW%2F2s7DC1TzZr9stysDMnTMUMzkdb2VQy%2F7Et983chHDgBirypw5pe3Hnj7X89AeSKy6Wo3QMAhrfx0xHF; unb=2210627905944; uc3=vt3=F8dCsGrJbnJiU%2F9Ga8E%3D&lg2=WqG3DMC9VAQiUQ%3D%3D&id2=UUpgRsItw%2BrsB7dvyw%3D%3D&nk2=F5RDKmf768KMcHQ%3D; csg=8cbb3b15; lgc=tb668512329; cancelledSubSites=empty; cookie17=UUpgRsItw%2BrsB7dvyw%3D%3D; dnk=tb668512329; skt=9fdf261563c694c8; existShop=MTY5NjU5NjQ2Nw%3D%3D; uc4=id4=0%40U2gqyZJ81Yv14cp6ZGKPzfskvtMPt7HF&nk4=0%40FY4I6earzOZXUhcMjuCRA6YLsnekww%3D%3D; tracknick=tb668512329; _cc_=UIHiLt3xSw%3D%3D; _l_g_=Ug%3D%3D; sg=94f; _nk_=tb668512329; cookie1=WvY2bcMyBjwC2%2FESfKPhqaOXs%2FXPxaxugpcVR2PVSmM%3D; _m_h5_tk=ab3493f51223f8cdd2215bc651ccfaeb_1696603673580; _m_h5_tk_enc=0c7861c6782983da6e928eee2638bab8; mt=ci=5_1; thw=cn; uc1=cookie16=W5iHLLyFPlMGbLDwA%2BdvAGZqLg%3D%3D&pas=0&cookie15=UIHiLt3xD8xYTw%3D%3D&cookie14=Uoe9a75Q35xwSg%3D%3D&existShop=true&cookie21=URm48syIZJfmZ9wVCtpzEQ%3D%3D; x5sec=7b22617365727665723b32223a223136336335633136323131666439646634656339646466306237393465636562434f4b63674b6b47454969726a4e4c392f2f2f2f2f774561447a49794d5441324d6a63354d4455354e4451374d7a4343747532332f502f2f2f2f384251414d3d222c22733b32223a2262336234313436346163393239323762227d; tfstk=dinp3Qw39CAn6ZtUeaLMaMyUFopMsDHetXkfq7VhPfhtF5jkLkYz2bFtaW43AWj82YhrZbHyL8NSNbFo-FxmLvrzVI0JmnDE7djieAYc9vZFduODinbGCyR3V2A-eLS_E1_edFjxD02Br7n7Wc_q_JULwgVO2fo1myNjb5sWGc6Zhmmve310M8bBBdQPzywwJ3ppk; l=fBrY7YtILf1CVZ6jBO5aourza77OFIRb8sPzaNbMiIEGa6tATFpWJNCtDD-M7dtjgTfmGetyCykutd3XrX438x9Zu6iXRs5mpRp6-bpU-L5..; isg=BOvruKieChJnIlEvHw2wpudZeg_VAP-C3bPHGl1odSqN_Ape5dXB0-AaVjySXFd6',
    'pragma': 'no-cache',
    'referer': 'https://s.taobao.com/',
    'sec-ch-ua': '"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'script',
    'sec-fetch-mode': 'no-cors',
    'sec-fetch-site': 'same-site',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36',
}

params = {
    'jsv': '2.6.2',
    'appKey': '12574478',
    't': '1696596530127',
    'sign': '98d718024af85360a694c244e5a3324f',
    'api': 'mtop.relationrecommend.WirelessRecommend.recommend',
    'v': '2.0',
    'type': 'json',
    'dataType': 'json',
    'data': '{"appId":"34385","params":"{\\"device\\":\\"HMA-AL00\\",\\"isBeta\\":\\"false\\",\\"grayHair\\":\\"false\\",\\"from\\":\\"nt_history\\",\\"brand\\":\\"HUAWEI\\",\\"info\\":\\"wifi\\",\\"index\\":\\"4\\",\\"rainbow\\":\\"\\",\\"schemaType\\":\\"auction\\",\\"elderHome\\":\\"false\\",\\"isEnterSrpSearch\\":\\"true\\",\\"newSearch\\":\\"false\\",\\"network\\":\\"wifi\\",\\"subtype\\":\\"\\",\\"hasPreposeFilter\\":\\"false\\",\\"prepositionVersion\\":\\"v2\\",\\"client_os\\":\\"Android\\",\\"gpsEnabled\\":\\"false\\",\\"searchDoorFrom\\":\\"srp\\",\\"debug_rerankNewOpenCard\\":\\"false\\",\\"homePageVersion\\":\\"v7\\",\\"searchElderHomeOpen\\":\\"false\\",\\"search_action\\":\\"initiative\\",\\"sugg\\":\\"_4_1\\",\\"sversion\\":\\"13.6\\",\\"style\\":\\"list\\",\\"ttid\\":\\"600000@taobao_pc_10.7.0\\",\\"needTabs\\":\\"true\\",\\"areaCode\\":\\"CN\\",\\"vm\\":\\"nw\\",\\"countryNum\\":\\"156\\",\\"m\\":\\"pc\\",\\"page\\":2,\\"n\\":48,\\"q\\":\\"iPhone\\",\\"tab\\":\\"all\\",\\"pageSize\\":\\"48\\",\\"totalPage\\":\\"100\\",\\"totalResults\\":\\"20250\\",\\"sourceS\\":\\"0\\",\\"sort\\":\\"_coefp\\",\\"bcoffset\\":\\"-3\\",\\"ntoffset\\":\\"3\\",\\"filterTag\\":\\"\\",\\"service\\":\\"\\",\\"prop\\":\\"\\",\\"loc\\":\\"\\",\\"start_price\\":null,\\"end_price\\":null,\\"startPrice\\":null,\\"endPrice\\":null}"}',
}
# url='https://h5api.m.taobao.com/h5/mtop.relationrecommend.wirelessrecommend.recommend/2.0/?jsv=2.6.2&appKey=12574478&t=1696596530127&sign=98d718024af85360a694c244e5a3324f&api=mtop.relationrecommend.WirelessRecommend.recommend&v=2.0&type=jsonp&dataType=jsonp&callback=mtopjsonp2&data=%7B%22appId%22%3A%2234385%22%2C%22params%22%3A%22%7B%5C%22device%5C%22%3A%5C%22HMA-AL00%5C%22%2C%5C%22isBeta%5C%22%3A%5C%22false%5C%22%2C%5C%22grayHair%5C%22%3A%5C%22false%5C%22%2C%5C%22from%5C%22%3A%5C%22nt_history%5C%22%2C%5C%22brand%5C%22%3A%5C%22HUAWEI%5C%22%2C%5C%22info%5C%22%3A%5C%22wifi%5C%22%2C%5C%22index%5C%22%3A%5C%224%5C%22%2C%5C%22rainbow%5C%22%3A%5C%22%5C%22%2C%5C%22schemaType%5C%22%3A%5C%22auction%5C%22%2C%5C%22elderHome%5C%22%3A%5C%22false%5C%22%2C%5C%22isEnterSrpSearch%5C%22%3A%5C%22true%5C%22%2C%5C%22newSearch%5C%22%3A%5C%22false%5C%22%2C%5C%22network%5C%22%3A%5C%22wifi%5C%22%2C%5C%22subtype%5C%22%3A%5C%22%5C%22%2C%5C%22hasPreposeFilter%5C%22%3A%5C%22false%5C%22%2C%5C%22prepositionVersion%5C%22%3A%5C%22v2%5C%22%2C%5C%22client_os%5C%22%3A%5C%22Android%5C%22%2C%5C%22gpsEnabled%5C%22%3A%5C%22false%5C%22%2C%5C%22searchDoorFrom%5C%22%3A%5C%22srp%5C%22%2C%5C%22debug_rerankNewOpenCard%5C%22%3A%5C%22false%5C%22%2C%5C%22homePageVersion%5C%22%3A%5C%22v7%5C%22%2C%5C%22searchElderHomeOpen%5C%22%3A%5C%22false%5C%22%2C%5C%22search_action%5C%22%3A%5C%22initiative%5C%22%2C%5C%22sugg%5C%22%3A%5C%22_4_1%5C%22%2C%5C%22sversion%5C%22%3A%5C%2213.6%5C%22%2C%5C%22style%5C%22%3A%5C%22list%5C%22%2C%5C%22ttid%5C%22%3A%5C%22600000%40taobao_pc_10.7.0%5C%22%2C%5C%22needTabs%5C%22%3A%5C%22true%5C%22%2C%5C%22areaCode%5C%22%3A%5C%22CN%5C%22%2C%5C%22vm%5C%22%3A%5C%22nw%5C%22%2C%5C%22countryNum%5C%22%3A%5C%22156%5C%22%2C%5C%22m%5C%22%3A%5C%22pc%5C%22%2C%5C%22page%5C%22%3A2%2C%5C%22n%5C%22%3A48%2C%5C%22q%5C%22%3A%5C%22iPhone%5C%22%2C%5C%22tab%5C%22%3A%5C%22all%5C%22%2C%5C%22pageSize%5C%22%3A%5C%2248%5C%22%2C%5C%22totalPage%5C%22%3A%5C%22100%5C%22%2C%5C%22totalResults%5C%22%3A%5C%2220250%5C%22%2C%5C%22sourceS%5C%22%3A%5C%220%5C%22%2C%5C%22sort%5C%22%3A%5C%22_coefp%5C%22%2C%5C%22bcoffset%5C%22%3A%5C%22-3%5C%22%2C%5C%22ntoffset%5C%22%3A%5C%223%5C%22%2C%5C%22filterTag%5C%22%3A%5C%22%5C%22%2C%5C%22service%5C%22%3A%5C%22%5C%22%2C%5C%22prop%5C%22%3A%5C%22%5C%22%2C%5C%22loc%5C%22%3A%5C%22%5C%22%2C%5C%22start_price%5C%22%3Anull%2C%5C%22end_price%5C%22%3Anull%2C%5C%22startPrice%5C%22%3Anull%2C%5C%22endPrice%5C%22%3Anull%7D%22%7D'
# 1. 发送请求
response = requests.get('https://h5api.m.taobao.com/h5/mtop.relationrecommend.wirelessrecommend.recommend/2.0/', params=params, headers=headers)
# 2. 获取数据
json_data = response.json()     # 取出来的数据就是字典格式
print(json_data)
# 3. 解析数据
itemsArray = json_data.get('data').get('itemsArray')
for item in itemsArray:
    title = item.get("title")
    priceWap = item.get("priceWap")
    realSales = item.get("realSales")
    procity = item.get("procity")
    nick = item.get("nick")
    shop_title = item.get("shopInfo").get("title")
    auctionURL = item.get("auctionURL")
    print(title, priceWap, realSales, procity, nick, shop_title, auctionURL)
    with open('taobao.csv', mode='a', newline='', encoding='utf-8') as f:
        csv_writer = csv.writer(f)
        csv_writer.writerow([title, priceWap, realSales, procity, nick, shop_title, auctionURL])

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

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

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

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

相关文章

kafka 开启认证授权

前言 1、前面自己写了一篇关于各个环境各个模式的安装的文章,大家可以去看看 kafka各种环境安装(window,linux,docker,k8s),包含KRaft模式 2、使用版本 kafka_2.13-3.4.1 3、kafka验证方式,有两大类如下,文档内容在 kafka官方文档的 第七节…

竞赛选题 深度学习 大数据 股票预测系统 - python lstm

文章目录 0 前言1 课题意义1.1 股票预测主流方法 2 什么是LSTM2.1 循环神经网络2.1 LSTM诞生 2 如何用LSTM做股票预测2.1 算法构建流程2.2 部分代码 3 实现效果3.1 数据3.2 预测结果项目运行展示开发环境数据获取 最后 0 前言 🔥 优质竞赛项目系列,今天…

新手请进,来看看Java if else分支结构精讲

java 支持两种选择语句:if 语句和 switch 语句。其中 if 语句使用布尔表达式或布尔值作为分支条件来进行分支控制,而 switch 语句则用于对多个整型值进行匹配,从而实现分支控制。这些语句允许你只有在程序运行时才能知道其状态的情况下&#…

Java架构师技术选型

目录 1 技术选型原则1.1 使用成熟的技术这个大家很好理解。1.2 选用最少的技术。1.3 选用能够掌控的技术。1.4 选用最合适的技术1.5 选成熟的价格低廉的商业技术或服务1.6 选主流的开源技术2 技术选型方法2.1 用户提出的对软件技术的约束2.2 团队最熟的技术栈来作为技术选型的基…

2024年pmp考试还有多久啊?怎么备考?

2024年将有4次PMP考试,分别在3月、5月、8月和11月进行。最近一次考试是3月份,虽然可能有些人觉得时间还很早,但实际备考时间要根据个人情况而定。如果你有一定的经验基础,备考一个半月左右的时间应该没有问题。但如果你是一个没有…

如何设计自动化测试框架?

一、什么是自动化测试框架 自动化测试框架是一个基于软件工程原则和最佳实践的结构化系统,可以帮助测试人员更有效地编写、维护和执行自动化测试脚本。它通常包括多个模块和组件,如测试用例管理、测试数据管理、测试脚本编写、测试报告生成等。 自动化…

【80%测试员被骗,关于jmeter 的一个弥天大谎!】

jmeter是目前大家都喜欢用的一款性能测试工具,因为它小巧、简单易上手,所以很多人都愿意用它来做接口测试或者性能测试,因此,在目前企业中,使用各个jmeter的版本都有,其中以jmeter3.x、4.x的应该居多 但是…

【Spring篇】讲解Bean的三种配置和实例化方法

🎊专栏【Spring】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🌺bean基本配置🌺bean别名配置&#x1f33a…

初创公司低预算,如何做好品牌宣传?

品牌宣传对于企业十分重要,假如企业在毫无知名度,消费者是很难选择其产品的,只有通过品牌宣传建立良好的企业形象,消费者才会对公司产品产生信赖感,但是初创公司预算低,应该如何做好品牌宣传呢,…

程序化广告平台如何让app广告变现收益最大化?

程序化广告可以解决开发者的关心的“广告变现收益增长难”、“广告质量是否会影响用户体验”等问题,想要app广告变现的收益最大化,接入程序化广告平台是必不可少的一环。 https://www.shenshiads.comhttps://www.shenshiads.com 什么是程序化广告平台&…

针对FTP的SSRF攻击

前言 ssrf中常用的协议有http,gopher等。但http协议在ssrf中的用处也仅限于访问内网页面,在可以crlf的情况下才有可能扩大攻击范围。gopher协议比较特殊,在部分环境下支持此协议,如:curl。但还有一些环境就不支持了&a…

【复古数码】轻律U1头戴式耳机,让你感受音乐的魔力!

品牌介绍 根据惯例,了解一款产品先从了解其品牌入手吧,UMELODY(Undertone Melody),中文名轻律,创始团队深耕音频行业,2009年至今,品牌将复古潮流文化结合与音频设备之中。 从复古到…

Speeded-Up Robust Features (SURF)全文翻译

Speeded-Up Robust Features (SURF) 摘要 这篇文章提出了一种尺度和旋转不变的检测子和描述子,称为SURF(Speeded-Up Robust Features)。SURF在可重复性、鉴别性和鲁棒性方面都接近甚至超过了以往的方案,同时计算和比较的速度更快。 这依赖于使…

C# excel操作

使用库 Spire.Xls 下载 示例数据 代码示例 1.删除列 代码 private static void DeleteExcelColumns1(string excelPath) {if (excelPath.Length 0) {Console.WriteLine("excel文件路径为空");}else{Console.WriteLine("删除列方法1:保留第一列&…

日报系统:优化能源行业管理与决策的利器

日报系统:优化能源行业管理与决策的利器 引言: 随着能源行业的快速发展和复杂性增加,管理各个部门的数据变得至关重要。为了提高运营效率和决策的准确性,能源行业普遍采用日报系统作为综合数据汇报和分析的工具。本文将探讨日报系…

centos7 配置coreboot编译环境 以及编译问题解决

需要的配置 (有的资源在国外可能需要翻墙) 操作系统: centos7.9 参考文章 coreboot源码分析之编译和运行coreboot - 知乎 //coreboot编译总说明 https://www.coreboot.org/Build_HOWTO#Requirements https://poe.com/ChatGPT 注意: 因为github不稳定 所以gitee为主 1. 下载…

yolov5训练加速

问题记录及解决 1、使用ddp训练,生成标签的cache报错,等待时间过长。 方法:先使用dp训练,生成标签的cache,停掉再使用ddp方式训练。 2、 [E ProcessGroupNCC L.cpp:828] [Rank 6] Watchdog caught collective operat…

VR全景技术打造“智慧亚运”,实现720度自由视角

亚运会已然闭幕,亚运盛会不仅仅是体育健儿的竞技舞台,也是新技术的展示窗口,通过5G技术打造“智慧亚运”,VR技术在亚运会上的呈现比比皆是。有人可能会觉得非常新奇,其实VR全景技术早在几年前开始融入我们的生活。 VR全…

暴力递归转动态规划(八)

棋盘问题 将棋盘最左下角当作是平面直角坐标系的原点(0,0)位置,那么这个棋盘横坐标上就是9条线,纵坐标就是10条线,给定三个参数a、b、k,返回“马”从(0,0)位置…

BUUCTF reverse3 1

先运行下 看来是输入正确的flag 使用DIE查看文件 看起来没有壳,直接IDA打开 shift F12查找字符串 一路跟踪 到汇编窗口后F5 这里对Destination和Str2进行比较,Str2有值那么Str2就是经过上面一系列处理之后得到的内容了 继续分析上面的代码 根据…