美しいスープを使ってサイトにフォームを送信し、機械化しようとしています。
Mechanize自体はネストされたフォームでエラーをスローするので、別のパーサーを使用するという提案に従ってみました。コードは次のとおりです。
browser = mechanize.Browser()
browser.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
browser.set_handle_robots(False)
response = browser.open('URL')
soup = BeautifulSoup(response.get_data())
response.set_data(soup.prettify())
browser.set_response(response)
ただし、次のエラーが発生します。
UnicodeEncodeError:
'ascii'
コーデックは位置2006の文字をエンコードできませんu'\xbb'
:序数が範囲内にありません(128)
このコード行の場合:response.set_data(soup.prettify())
タイプに問題がある場合、スローされるエラーがここにあるかどうかはよくわかりません。