使用urllib登录站点

2024-05-14 04:05:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从这个站点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)

我做错什么了?


Tags: 代码importcomhttpurldata站点login
1条回答
网友
1楼 · 发布于 2024-05-14 04:05:43

它不直接使用urllib,但是您可能会发现使用^{}包更容易。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.

登录后,可以调用所需的特定url。

r2 = session.get('http://cheese.formice.com/maps/@5865339')
print r2.content #prints the raw html you can now parse and scrape

相关问题 更多 >