淘宝网---爬虫
(一)、requests库实现淘宝网模拟登陆
最近想要写一个淘宝网的爬虫,具备模拟登陆、代理IP池、根据关键词爬取搜索页面商品数据,第一个目标就是淘宝的模拟登陆,不得不说,淘宝的用户登陆的验证方式有点复杂,富有挑战性....
实现步骤:
1.获取必要的登陆参数
2.普通的账户登陆需要经过passport.alibaba.com获取验证用户的st码
3. st_url = 'https://login.taobao.com/member/vst.htm?st={st}'.format(st) 访问st_url获取响应的cookies,如果成功获取就代表你已经登陆成功了
前期准备:
关键词:ua,TPL_password2
淘宝用户登陆时需要提交的两个重要的参数,一个是ua码,还有一个是你的密码经过一定的计算后得出的TPL_password2加密码,下面两个图是用fiddler软件在我登陆操作时候,POST表单提交的数据参数
----------------------------------------------------------------------------------------------------------------------------
import requests
import re
class TaoBao:
def __init__(self,username):
# 淘宝登录的URL
self.login_url = "https://login.taobao.com/member/login.jhtml"
# 登陆前的验证,以获取cookie用于后续的登陆操作
self.st_url = 'https://login.taobao.com/member/vst.htm?st={st}'
# 淘宝登陆用户名
self.username = username
#header信息 (设置几个基本就可以的了,没必要设置这么多)
self.loginHeaders = {
'Host':'login.taobao.com',
'Connection':'keep-alive',
'Content-Length':'3357',
'Cache-Control':'max-age=0',
'Origin':'https://login.taobao.com',
'Upgrade-Insecure-Requests':'1',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/