我正在使用 scrape.py 库来抓取网站。(图书馆和文档可以在这里找到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