淘宝模拟登录 +淘宝商品详情数据、淘宝商品列表数据爬取

news2024/12/29 16:00:27

PYTHON环境: 

* requests库

* time库

* re库

实现思路:

* 检查此账号需不需要验证(滑动验证/验证码)

* 浏览器/工具 获取ua和加密后的密码(一劳永逸的方法)

* post请求登录url获取st申请url

* 根据获得的st申请地址获取st码

* 用st码登录,提取重定向网址,存储 cookie

* 用cookie向其它页面发送请求,获取信息

函数说明:

* check_login() #检查账号是否需要滑块验证

* login_get_st() #登录验证获取st申请地址

* get_st() #获取st码

* st_login() #使用st登录淘宝

* test() #商品爬取测试

* test2() #个人页面测试

文件结构:

* demo文件夹存放代码文件

* data文件夹存放爬取的数据

未来完善升级想法:

* 将验证账号和登录方法封装在一起

* 采用IP代理更好的的获取信息

* cookie序列化减少重复登录(已完成)

* 采用框架实现模拟滑动操作,极大的提高信息的获取效率

* 采用多线程或分布式,将信息获取速度最大化

* 挺粗糙的一个作品哈哈,有空会继续优化的

封装好的接口代码:

1.请求方式: HTTP POST GET

2.公共参数:

名称类型必须描述
keyString调用key(必须以GET方式拼接在URL中)
secretString调用密钥 (复制v:Taobaoapi2014 )
api_nameStringAPI接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cacheString[yes,no]默认yes,将调用缓存的数据,速度比较快
result_typeString[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
langString[cn,en,ru]翻译语言,默认cn简体中文
versionStringAPI版本

3.代码展示:

# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-Vxin.taobaoapi2014.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=652874751412&is_promotion=1"
headers = {
    "Accept-Encoding": "gzip",
    "Connection": "close"
}
if __name__ == "__main__":
    r = requests.get(url, headers=headers)
    json_obj = r.json()
    print(json_obj)

4.响应示例:

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

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

相关文章

Session详解(重点)

类似于去服务器注册账号&#xff0c;只要服务器不停机&#xff0c;自己注册的账号一直会存在服务器。 什么是Session&#xff1a; 1.服务器会给每一个用户&#xff08;浏览器&#xff09;创建一个对象&#xff1b; 2.一个Session独占一个浏览器&#xff0c;只要浏览器没有关…

如何高效清洗数据?试试这款神器

在大数据时代&#xff0c;数据的来源具有多样性、复杂性。 针对数量庞大、渠道及格式多样的数据&#xff0c;数据清洗就成为刚需。 在数据分析中&#xff0c;数据清洗实际上是十分繁重且关键的一步。 Power Query作为数据清洗的工具&#xff0c;能将这些多源的数据集中并统一…

优化城市布局:地下管网解决方案的应用

城市地下管网是城市基础设施中非常重要的一部分&#xff0c;包括排水系统、供水系统、天然气管道、电缆管道等多种管网。然而&#xff0c;城市地下管网也是一个复杂而庞大的系统&#xff0c;由于年久失修和规划不当等原因&#xff0c;经常出现漏水、爆炸、停电等问题&#xff0…

【Unity入门】10.物体的运动

【Unity入门】物体的运动 大家好&#xff0c;我是Lampard~~ 欢迎来到Unity入门系列博客&#xff0c;所学知识来自B站阿发老师~感谢 &#xff08;一&#xff09;用脚本驱动物体移动 &#xff08;1&#xff09;制作一台运动的小车 回顾上一篇文章&#xff0c;我们已经可以用脚本…

Allegro thermal relief热风焊盘

为了画个通孔焊盘&#xff0c;看了很久的 Thermal relief相关的内容&#xff0c;终于基本上理解了。记录一下。 这篇文章讲得非常清楚&#xff1a; 深入理解Allegro之Thermal Relief与Anti Pad - 百度文库 (baidu.com) 热风焊盘般用在内层&#xff0c;减少一些焊盘和铜皮的连…

某vm样本的分析

背景 驱动那块&#xff08;MiDeadPteTrackerSListHead&#xff09; 从遥远的东方收到的一个样本&#xff0c;好嘛&#xff01;打开之后一直不停的在创建和结束进程&#xff0c;又是vmp。 还是老方法&#xff0c;dmp下来之后看看&#xff0c;好嘛&#xff0c;main函数被vm了&am…

大数据技术之Hive

第1章Hive基本概念1.1 Hive1.1.1 Hive的产生背景在那一年的大数据开源社区&#xff0c;我们有了HDFS来存储海量数据、MapReduce来对海量数据进行分布式并行计算、Yarn来实现资源管理和作业调度。但是面对海量数据和负责的业务逻辑&#xff0c;开发人员要编写MR来对数据进行统计…

stm32学习第四天

DMA1&#xff1a;各个通道一览 DMA2&#xff1a;各个通道一览 1.stm32DMA相关固件库函数说明 第一个参数选择哪一个DMA的哪一个通道 初始化函数 void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct); typedef struct {uint32_t DMA_Periph…

Vue项目中关于全局css的处理

Vue项目中关于全局css的处理步骤一&#xff1a;定义声明全局CSS的样式文件(common.scss)步骤二&#xff1a;挂载到全局封装一&#xff1a;对common.scss拆分封装二&#xff1a;新建index.scss&#xff0c;对elementPlus或者element-ui样式进行覆盖封装三&#xff1a;variable.s…

一、ts学习第一课:环境配置

一、下载node 官网&#xff1a;Node.jsNode.js is a JavaScript runtime built on Chromes V8 JavaScript engine.https://nodejs.org/en 推荐下载左侧稳点版的node&#xff0c;下载好了&#xff0c;就一步步点击安装就ok了。 判断是否已经下载好了node&#xff0c;在命令行…

BIO和NIO的区别与实现

目录 目标 概述 实战 单线程版本的BIO 多线程版本的BIO 单线程NIO&#xff08;简易版&#xff09; 单线程NIO&#xff08;多路复用版&#xff09; 客户端发送数据的方法 目标 了解BIO和NIO的区别和应用场景。分析BIO和NIO的线程模型&#xff0c;利用Socket实现BIO和NI…

pytorch 笔记

1.python文件、python控制台Terminal、jupyter代码执行比较 2.Dataset和Dataloader dataset存储数据集&#xff0c;dataloader从数据集中批量加载数据&#xff0c;如 把 dataset 放入 DataLoaderloader Data.DataLoader(datasettorch_dataset, # torch TensorDataset forma…

MIPI D-PHYv2.5笔记(17) -- Global Operation Flow Diagram、数据速率依赖参数

声明&#xff1a;作者是做嵌入式软件开发的&#xff0c;并非专业的硬件设计人员&#xff0c;笔记内容根据自己的经验和对协议的理解输出&#xff0c;肯定存在有些理解和翻译不到位的地方&#xff0c;有疑问请参考原始规范看 Global Operation Flow Diagram 图1 Data Lane Mod…

【Linux】线程概念详析

我们已经了解了Linux操作系统进程部分相关知识&#xff1a; 博主有关Linux进程相关介绍的文章&#xff1a; &#x1f4a5;[Linux] 系统进程相关概念、系统调用、Linux进程详析、进程查看、fork()初识 &#x1f4a5;[Linux] 进程状态相关概念、Linux实际进程状态、进程优先级 …

【超算/先进计算学习】日报1

目录今日已完成任务列表遇到的问题及解决方案任务完成详细笔记Darknet框架优化介绍darknet介绍YOLO高性能计算与超级计算机简介算力超级计算机概念与体系结构并行编程技术Linux常用操作命令Linux操作系统与指令使用机器信息查询文件、目录和权限文件内容查看环境变量使用对自己…

15.枚举

枚举 枚举是Java1.5引入的新特性&#xff0c;通过关键字enum来定义枚举类。枚举类是一种特殊类&#xff0c;它和普通类一样可以使用构造方法、定义成员变量和方法&#xff0c;也能实现接口,但枚举类不能继承其他类。枚举是一个被命名的整型常数的集合&#xff0c;用于声明一组…

Linux系统下安装zookeeper教程

将下载好的zookeeper上传到linux服务器上&#xff0c;这里使用的是FileFilla 解压&#xff1a;[rootcentos7964 software]# tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz 进入刚刚解压后的文件夹&#xff0c;创建一个名字为data的文件夹&#xff0c;如下&#xff1a; [rootc…

分库分表--shardingjdbc

文章目录前言一、shardingjdbc简介作用二、如何使用1.我有个表现在体量太大了,我想做分库分表2.开始改造1 引入shardingjdbc2 更改yml文件3 测试看效果3.旧数据迁移4.其他分库类型5 部分配置说明总结前言 当项目开始的时候,没有想到后续的分库分表的话,其实对于后续的分库分表…

MYSQL学习 - DDL数据库操作

前言 从今天开始, 健哥就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。 ------------------------------前戏已做完&#xff0c;精彩即开始---…

【数据结构】树和二叉树——堆

目录 &#x1f349;一.树的概念及结构&#x1f349; 1.树的概念 2.树的相关术语 3.树的表示 4.树在实际中的应用 &#x1f34a;二.二叉树的概念和结构&#x1f34a; 1.二叉树的概念 2.特殊的二叉树 2.1.满二叉树 2..2.完全二叉树 3.二叉树的性质 4.二叉树的存储结构 …