Python 3.[12]urllib

2024-04-27 03:24:20 发布

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

我正在写一个小脚本从一个网站抓取一些文件。首先,我在网站中创建一个潜在的url列表。这在python3.1中运行得很好,但在python3.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

Tags: urldatabase网站requestusernameloginpassword
1条回答
网友
1楼 · 发布于 2024-04-27 03:24:20

问题应该在这里:

login_data = urllib.parse.urlencode({'login' : username, 'password' : password}) opener.open(BASE_URL+"/bg/login", login_data)

urllib.parse.urlencode输出的字符串不是iterable。在

相关问题 更多 >