0

我已经下载了 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

它不接受尝试通过“用户名”访问表单中的索引,但是这是我见过的该模块的所有示例中的语法。

4

1 回答 1

0

您可以尝试直接在 url 中使用登录名和密码。这是方案:

http://USERNAME:PASSWORD@example.com/
于 2017-10-26T17:00:48.907 回答