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.公共参数:
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用key(必须以GET方式拼接在URL中) |
secret | String | 是 | 调用密钥 (复制v:Taobaoapi2014 ) |
api_name | String | 是 | API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默认yes,将调用缓存的数据,速度比较快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读 |
lang | String | 否 | [cn,en,ru]翻译语言,默认cn简体中文 |
version | String | 否 | API版本 |
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.响应示例: