2017-05-25 80 views
0

我想通过密码保护的网站登录,以获得访问受保护的页面,我有电子邮件和密码名称以及csrf-token.But当我尝试访问它不允许我保护的页面,并将我重定向到登录页面。任何帮助都将非常棒!站点即时通讯设法访问是。Python网络报废与登录

https://www.usertesting.com/users/sign_in

import requests 
from lxml import html 

session_requests = requests.session() 

login_url = "https://www.usertesting.com/users/sign_in" 
result = session_requests.get(login_url) 

tree = html.fromstring(result.text) 
authenticity_token = list(set(tree.xpath("//meta[@name='csrf-token']/@content")))[0] 

userInfo = { 
    "user[email]": "email", 
    "user[password]": "password", 
    "csrf-token": authenticity_token 
} 

result = session_requests.post(
    login_url, 
    data = userInfo, 
    headers = dict(referer=login_url) 
) 

url = 'https://www.usertesting.com/my_dashboard' 

result = session_requests.get(
    url, 
    headers = dict(referer = url) 
) 

print result.content 
+0

如果你检查后的数据,你会看到它超过3个输入(6),你可能需要所有的tem。你也许必须在'headers'中包含'User-Agent'和'Referer' –

回答

0

尝试采取看看这个https://kazuar.github.io/scraping-tutorial/您要寻找的答案。总结一下,你将需要检查网页,在你开始完整的抓取程序之前,你应该编写另一个函数,输入用户名,密码,然后进入网站。完成后,开始完整的脚本。

+0

那就是我遵循的教程... – user3808597

+0

啊,我明白了。执行后,print result.content会返回什么? (我不是该网站的成员,所以我不能继续前进测试 – Jeremy

+0

它返回登录页面的HTML,所以我想即时通讯重定向到该页面 – user3808597