如何使用Python和urllib2获取受保护页面的内容?
我需要为我要检索的网页指定用户名和密码。 例如
content = urllib2.urlopen(URL, username, password).read()
我知道这不是urllib2 API的一部分。只需从API中举例说明我需要的内容。
答案 0 :(得分:2)
我建议您查看python requests库。
它开箱即用basic http authentication。
e.g。
import requests
content = requests.get(URL, auth=('user', 'pass'))
使用requests
您还可以设置sessions
(用于Cookie管理)和轻松POST
数据(例如登录表单)并保留Cookie以浏览仅可访问的所有页面登录用户。
在优秀文档中详细了解session objects和posting data。
如果您绝对必须使用urllib2
,这是从另一个线程获取的基本HTTP身份验证的有用代码段:
import urllib2, base64
request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.standard_b64encode('%s:%s' % (username, password))
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)
答案 1 :(得分:0)
您可以使用urllib2执行此操作,只需查看Urllib docs
即可使用像硒这样的网络驱动程序实际上更容易进入形式,但关于硒的事情是它打开一个实际的窗口,而urllib在后台但是硒更容易使用
这些只是我希望帮助的一些建议