Python 3.[12] urllib
我正在写一个小脚本,从一个网站上抓取一些文件。首先,我会创建一个可能的网址列表,这在Python 3.1中运行得很好,但在Python 3.2中就不行了。我想这可能是编码的问题,但我不太确定怎么优雅地解决这个问题。你能帮我吗?
def get_urls(username, password, userid):
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
login_data = urllib.parse.urlencode({'login' : username, 'password' : password})
opener.open(BASE_URL+"/bg/login", login_data)
url = BASE_URL + "/bg/user/" + userid + "?finished=1"
resp = opener.open(url)
result = resp.read()
txt = result.decode("iso-8859-1")
liste = (re.findall("/bg/export/[\d]{4,8}",txt))
return liste
1 个回答
0
问题应该出在这里:
login_data = urllib.parse.urlencode({'login' : username, 'password' : password})
opener.open(BASE_URL+"/bg/login", login_data)
urllib.parse.urlencode
输出的是字符串,而不是可迭代的对象。