私はscrap.pyライブラリを使用してWebサイトをスクレイプしています。(ライブラリとドキュメントはここhttp://zesty.ca/scrape/にあります)
セッションで押したいページにボタンがありますが、送信機能の使い方がよくわかりません。私が理解しているように、私はそれにフォームのリージョンオブジェクトを与えることになっています。ボタン自体は入力html要素です。フォームと入力の両方を指定しようとしましたが、毎回同じエラーが発生します。
私のコード(グーグルアプリエンジン上):
s.go(url)
form = s.doc.first(name="form1")
s.submit(region=form)
また
s.go(url)
input = s.doc.first(tagname="input", id="blabla")
s.submit(region=input)
とエラー:
ERROR 2011-05-01 23:37:18,673 __init__.py:427] sequence item 0: expected string, NoneType found
Traceback (most recent call last):
File "\appengine\ext\webapp\__init__.py", line 636, in __call__
handler.post(*groups)
File "main.py", line 135, in post
s.submit(region=form)
File "scrape.py", line 342, in submit
return self.go(url, p, redirects)
File "scrape.py", line 288, in go
self.cookiejar)
File "scrape.py", line 176, in fetch
data = urlencode(data)
File "scrape.py", line 409, in urlencode
for key, value in params.items()]
File "scrape.py", line 405, in urlquote
return ''.join(map(urlquoted.get, text))
TypeError: sequence item 0: expected string, NoneType found