私はウェブサイトからいくつかのファイルをつかむ小さなスクリプトに取り組んでいます。まず、ウェブサイト内の潜在的なURLのリストを作成します。これは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