我正在尝试从此站点获取信息 http://cheese.formice.com/maps/@5865339 ,但是当我请求使用 urllib.urlopen 时,它说我需要登录,我使用的是这段代码:
import urllib
data = {
'login':'Cfmaccount',
'password':'tfmdev321',
'submit':'Login',
}
url = 'http://cheese.formice.com/login'
data = urllib.urlencode(data)
response = urllib.urlopen(url, data)
我做错了什么?
最佳答案
它不直接使用 urllib
,但您可能会发现使用 requests
更容易包裹。 requests
有一个 session
对象 see this answer
import requests
url = 'http://cheese.formice.com/forum/login/login'
login_data = dict(login='Cfmaccount', password='tfmdev321')
session = requests.session()
r = session.post(url, data=login_data)
这将使您登录到该站点。您可以通过以下方式验证:
print r.text #prints the <html> response.
登录后,您可以调用您想要的特定网址。
r2 = session.get('http://cheese.formice.com/maps/@5865339')
print r2.content #prints the raw html you can now parse and scrape
关于python - 使用 urllib 登录站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29048168/