天天看点

Python新浪博客签到

#coding:utf-8
__author__ = 'zy'
import urllib2
import cookielib
import urllib
import re
import sys
'''模拟登录'''

PostUrl = "https://login.sina.com.cn/bindmail/checkmailuser.php?_r=1488205386182"
# 验证码地址和post地址
cookie = cookielib.CookieJar()
handler = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
# 将cookies绑定到一个opener cookie由cookielib自动管理
username = ' '
password = ' '
# 用户名和密码
postData = {
'name': username,
'type': "json",
'ag':"",
}
# 根据抓包信息 构造表单
headers = {
'Accept':"*/*",
'Accept-Encoding':'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Cache-Control':'max-age=0',
'Connection': 'keep-alive',
'Content-Length':'37',
'Content-Type': 'application/x-www-form-urlencoded',
'Host':'login.sina.com.cn',
'Cookie':cookie,
'Referer':'https://login.sina.com.cn/signup/signin.php?entry=blog&r=http%3A%2F%2Fcontrol.blog.sina.com.cn&from=referer:http%3A%2F%2Fcontrol.blog.sina.com.cn',
#'Upgrade-Insecure-Requests':1,
'User-Agent': 'User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36',
}
# 根据抓包信息 构造headers
data = urllib.urlencode(postData)
# 生成post数据 ?key1=value1&key2=value2的形式
request = urllib2.Request(PostUrl, data, headers)
# 构造request请求
#try:
#打开网页
url = 'http://control.blog.sina.com.cn/blog_rebuild/riaapi/points/register_get_points.php?domain=1' #签到的地址
#request2=urllib2.Request(url,',headers)
op = opener.open(url)
#op=opener.open(request2)
response = opener.open(request).read()

# 由于该网页是gb2312的编码,所以需要解码
print response
    # 打印登录后的页面
#except (urllib2.HTTPError),e:
#    print e.code66
# 利用之前存有cookie的opener登录页面