我正在从一个网站上抓取一些文件的小脚本。首先,我在网站中创建一个潜在的网址列表。这与Python 3.1一起工作良好,但与Python 3.2无关。我想这是一个编码问题,但我不知道如何以优雅的方式实现它。你可以帮我吗?Python 3. [12] urllib
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
那么它不适用于Python 3.2?给定页面的预期输出与接收输出是什么?哪里出了问题,如果每行添加'print'语句以查看发生了什么? – agf
错误消息:TypeError:POST数据应该是字节或可迭代的字节。它不可能是str。因此,我必须将所有内容都编码为字节码,但最优雅的方式是什么? – hack23
错误是什么?将__full traceback__编辑到您的问题中。另外,不要签署你的问题 - 删除。 – agf