终于实现了登陆淘宝,这个验证码机制困惑了我好几天啊。
代码中验证码提供有两种方式,第一种通过webbrowser的open直接在浏览器中打开含有验证码的图片,第二种就是将其以jepg格式存在
C:\\Users\\Administrator\\Desktop\\checkcode.jepg。你可以根据自己主机的用户名更改路径。同时这个代码必须先指定用户名和账号也
可以实时输入账号的密码,小小修改一下代码就可以。
显示根据httpfox分析网页数据,之后再使用正则扣除你想要的数据,将其显示出来。过几天可能会写一个从淘宝上抓取信息的爬虫,现在
还没有使用各种爬虫框架,基本都是使用urllib、urllib2等比较基础的包,过一阶段可能会学习到框架,我也只是一个菜鸟,一个想要飞的
更高的菜鸟罢了,代码里我写了比较详细的注释,基本逻辑就是初始化设置cookie等->发送post数据从返回信息中抓取验证码->再次发送
携带验证码的post数据->从返回信息中提取登陆状态。
# -*- coding: utf-8 -*-
import urllib
import urllib2
import cookielib #设置opener
import re #正则表达式
import webbrowser #打开界面
#淘宝登录地址
tbLoginUrl = "https://login.taobao.com/member/login.jhtml"
#存放验证码图片的网址
checkCodeUrl = ''
#post请求头部
headers = {
'x-requestted-with': 'XMLHttpRequest',
'Accept-Language': 'zh-cn',
'Accept-Encoding': 'gzip, deflate',
'ContentType': 'application/x-www-form-urlencoded; chartset=UTF-8',
'Host': 'login.taobao.com',
'DNT': 1,
'Cache-Control': 'no-cache',
'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1',
'Referer' :