我已经下载了 robobrowser 来帮助我登录网页进行网页抓取。
我了解该过程,但在访问表单元素时遇到问题。
from robobrowser import RoboBrowser
browser = RoboBrowser(history=True)
url1 = "example_url"
username = "example_user"
password = "example_pass"
browser.open(url1)
form = browser.get_forms()
form['username'] = username
似乎只有一种形式,当我尝试将其转换为字符串的示例时,它似乎正在找到该形式。由于某种原因,除非我转换为字符串,否则它不会在 spyder 工作区中显示为变量。
我查看了 html,用户名条目的名称和 id 确实是“用户名”。我得到错误
form['username'] = username
TypeError: list indices must be integers or slices, not str
它不接受尝试通过“用户名”访问表单中的索引,但是这是我见过的该模块的所有示例中的语法。