Python:使用脚本登录网站的难度级别
我目前正在从事一个个人python项目,在此项目中,我需要能够登录到一组网站(我有帐户),然后在我的帐户页面上阅读源代码。在我的帐户页面上抓取并阅读源代码没有问题。我遇到的问题是使用python脚本登录网站 我已经查看了这个站点上的大约六个线程,它们专门涉及这个主题,并尝试了代码和建议。我试验过的库包括urlib2、requests和mechanize。到目前为止,这些措施都没有奏效。大多数时候,我使用的脚本将从网站的登录页面而不是我的帐户页面(如预期)获取源代码。在这个线程的底部是我使用过的两个代码示例 我想知道的是:Python:使用脚本登录网站的难度级别,python,http,login,Python,Http,Login,我目前正在从事一个个人python项目,在此项目中,我需要能够登录到一组网站(我有帐户),然后在我的帐户页面上阅读源代码。在我的帐户页面上抓取并阅读源代码没有问题。我遇到的问题是使用python脚本登录网站 我已经查看了这个站点上的大约六个线程,它们专门涉及这个主题,并尝试了代码和建议。我试验过的库包括urlib2、requests和mechanize。到目前为止,这些措施都没有奏效。大多数时候,我使用的脚本将从网站的登录页面而不是我的帐户页面(如预期)获取源代码。在这个线程的底部是我使用过的两
import requests
r = requests.get('https://www.websample.com', auth=('myusername', 'mypassword'))
print r.content
print r.status_code
print r.headers['content-type']
例2:
s = requests.session()
login_data = dict(email='myusername', password='mypassword')
s.post('http://www.websample.com', data=login_data)
r = s.get('http://www.websample/page_with_info.com')
print r.content
例3:
import urllib2
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
top_level_url = "http://www.websample.com"
password_mgr.add_password(None, top_level_url, 'myusername', 'mypassword')
handler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(handler)
data = opener.open('http://www.websample/page_with_info.com')
urllib2.install_opener(opener)
x = data.read()
print x
假设这些网站没有实现某种形式的两步认证,即使用发送到不同于pc的设备的一次性密钥,那么这是完全可行的。我总是使用urllib2来完成类似的任务,最初是从这个问题开始的,也从第一个链接到的写的。非常有用的例子,如果你是新手 关于你的问题的答案: