python - 使用python请求库登录网站

标签 python python-requests http-request

我浏览了许多关于如何使用 requests 创建 session 的 SO 线程库,但我尝试过的方法都没有真正让我登录。我在网页设计和协议(protocol)方面的经验很少,所以请指出我可能需要了解的任何基础知识。这是我正在做的:

import requests

EMAIL = 'my_email'
PASSWORD = 'my_pw'
URL = 'https://account.guildwars2.com/login'

session = requests.session()

login_data = dict(username=EMAIL, password=PASSWORD)
r = session.post(URL, data=login_data)

req = session.get('https://leaderboards.guildwars2.com/en/na/achievements/guild/Darkhaven%20Elite')

print req.content

我现在看到的内容是我没有登录时会看到的内容。

是我的语法有什么不正确的地方,还是我访问的登录页面的设置方式导致的问题?

最佳答案

@DanAlbert 指出我告诉您使用 HTTP Auth,这不是您想要做的。由于一切看起来都是正确的,所以我假设它可能只是您需要的 HTTP 身份验证。

但是,查看表单可能您只是在字典中使用了错误的变量名:

import requests
s = requests.session()
login_data = dict(email='email', password='password')
s.post('https://account.guildwars2.com/login', data=login_data)
r = s.get('https://leaderboards.guildwars2.com/en/na/achievements/guild/Darkhaven%20Elite')
print r.content

如果您查看表单,它需要变量“email”和“password”。你有“用户名”和“密码”

无论如何,HTH

关于python - 使用python请求库登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16994044/

相关文章:

php - php中是否可以进行python丰富的比较?

python - 浏览器中可见的项目未被抓取工具收集

python - 安装 Python 请求

PHP Pear HTTP_Request 强制使用指定的 SSL 版本

ios - 创建多个 NSURLConnections 并使用 sendAsynchronousRequest :queue:completionHandler: iOS 5 method

php - 如何在 php 文件运行完成之前关闭与服务器的连接?

python 字节码、解释器和虚拟机

python - Dataframe - 在按日期分组的行中查找第一个 0

python - 使用 opencv Filter2D 函数时如何避免包含零?

Python requests.packages.urllib3.connection.VerifiedHTTPSConnection [Errno 11004]