使用的是 Python2+urllib2+cookielib 模拟登陆 pixiv,post 表单后尝试获取个人收藏页面但是得到的是 pixiv 的登录页面,怀疑是模拟登陆的过程有问题,排查了一天也没解决,实在不知道哪里错了。。求各位大手看一下,谢谢。。(账号和密码我给抹去了)
import re,urllib,urllib2
import cookielib
headers = {
'Referer': 'https://accounts.pixiv.net/login?lang=zh&source=pc&view_type=page&ref=wwwtop_accounts_index',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) '
'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
}
request_loginpage = urllib2.Request(r'https://accounts.pixiv.net/login')
getLoginPage = urllib2.urlopen(request_loginpage)
pattern = re.compile(r'<input type="hidden" name="post_key" value="(.*?)">')
getPostKey = re.search(pattern,getLoginPage.read())
postKey = getPostKey.group(1)
print postKey
data = {
'pixiv_id':'id',
'password':'password',
'post_key':postKey,
'return_to':'https://www.pixiv.net/'
}
cookie = cookielib.CookieJar()
handler=urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
encodeData = urllib.urlencode(data)
request = urllib2.Request('https://accounts.pixiv.net/api/login?lang=zh',encodeData,headers)
response = opener.open(request)
request2 = urllib2.Request('https://www.pixiv.net/bookmark.php')
response2 = opener.open(request2)
print response2.read()
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.