我正在尝试在Python中实现一个简单的程序,它读取rom网页并将它们写入文件。大约有2000页的消息递增编号,但是缺少一些数字。
该网站受用户名和密码保护,我使用的是通常用于手动访问的用户名和密码。我正在使用我在官方Python网站上找到的一些代码示例和cookie处理,但当我尝试使用我试图复制回复的网站时
“您的浏览器不接受我们的cookies。要查看此页面,请将您的浏览器偏好设置为接受cookie。(代码0)”
显然cookie存在问题,也许我没有正确处理用户名和密码。有关以下代码的任何建议吗?
import urllib2
import cookielib
import string
import urllib
def cook():
url="http://www.URL.com/message/"
cj = cookielib.LWPCookieJar()
authinfo = urllib2.HTTPBasicAuthHandler()
realm = "http://www.URL.com"
username = "ID"
password = "PSWD"
host = "http://www.URL.com/message/"
authinfo.add_password(realm, host, username, password)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj), authinfo)
urllib2.install_opener(opener)
# Create request object
txheaders = { 'User-agent' : "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)" }
try:
req = urllib2.Request(url, None, txheaders)
cj.add_cookie_header(req)
f = urllib2.urlopen(req)
except IOError, e:
print "Failed to open", url
if hasattr(e, 'code'):
print "Error code:", e.code
else:
print f
cook
url="http://www.URL.com/message/"
urllib.urlretrieve(url + '1', 'filename')