Robobrowser开发人员代码引发错误“对象不可下标”?

时间:2018-07-26 16:10:42

标签: python forms screen-scraping robobrowser

所以我遇到了这个错误...我回到文档,从开发人员那里找到了类似的代码。我复制并粘贴了它,并引发了相同的错误。

从开发人员那里获取代码。发生了什么变化? TypeError:“ NoneType”对象不可下标

import re
from robobrowser import RoboBrowser

# Browse to Rap Genius
browser = RoboBrowser(history=True)
browser.open('http://rapgenius.com/')

# Search for Queen
form = browser.get_form(action='/search')
form                # <RoboForm q=>
form['q'].value = 'queen'
browser.submit_form(form)

谢谢

...我发现基本上您不能通过标识符指定特定的表格...不知道为什么会这样..您可以通过get_forms进行len和迭代,但这并不是那么好。这对其他人有用吗?还是我只是完整的卢布?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的错误。由于我们俩都在运行代码,因此来自robobrowser网站上的介绍性文档页面,这意味着不再维护robobrowser。

我改用机械汤。这是一个Python模块,可以很好地工作,并且似乎可以维护(在没有中断时会中断。)您可以使用pip安装它。

此外,mechanicalsoup的语法更简单。例如,设置表单值时不必使用“ .value”。

所以我的建议是忘记robobrowser,而改用机械汤。