简体   繁体   English

Python 3.[12] urllib

[英]Python 3.[12] urllib

i am working on a little script grabbing some files from a website.我正在编写一个从网站上抓取一些文件的小脚本。 First i create a list of potential urls within the website.首先,我在网站内创建一个潜在网址列表。 This worked fine with Python 3.1 but not with Python 3.2.这适用于 Python 3.1 但不适用于 Python 3.2。 I guess it is a question on encoding but i am not sure how to realise it in an elegant way.我想这是一个关于编码的问题,但我不确定如何以优雅的方式实现它。 Can you help me?你能帮助我吗?

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

The problem should be here:问题应该在这里:

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

urllib.parse.urlencode outputs string not an iterable. urllib.parse.urlencode输出字符串不是可迭代的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM