Sah*_*hil 5 python beautifulsoup python-2.7 python-requests
我想使用 python 脚本登录 Ideone.com,然后使用 python 脚本使用后续请求从我自己的帐户中提取内容。这是我用来登录网站的:
import requests
import urllib
from bs4 import BeautifulSoup
url='http://ideone.com/account/login/'
body = {'username':'USERNAME', 'password':'PASSWORD'}
s = requests.Session()
loginPage = s.get(url)
soup = BeautifulSoup(loginPage.text)
r = s.post(soup.form['action'], data = body)
print r
Run Code Online (Sandbox Code Playgroud)
此代码成功登录到我的 ideone 帐户。但是如果我随后调用(使用 BeautifulSoup)来访问我的帐户详细信息,它会再次向我发送登录页面的 HTML。
如何保存特定脚本的会话以便它接受后续调用?提前致谢,如果之前有人问过这个问题,我们深表歉意。
我们可以这样做:
from requests import session
from bs4 import BeautifulSoup
payload = {
'action' : 'login',
'username' : 'USERNAME',
'password' : 'PASSWORD'
}
login_url='http://ideone.com/account/login/'
with session() as c:
c.post(login_url, data = payload)
request = c.get('http://ideone.com/myrecent')
print request.headers
print request.text
Run Code Online (Sandbox Code Playgroud)