Python RoboBrowser自动搜索功能
这个代码有什么问题?它与duckduckgo.com合作,但不与谷歌、维基百科或雅虎合作。是的,我正在根据特定网站更改idPython RoboBrowser自动搜索功能,python,web-scraping,robobrowser,Python,Web Scraping,Robobrowser,这个代码有什么问题?它与duckduckgo.com合作,但不与谷歌、维基百科或雅虎合作。是的,我正在根据特定网站更改id import re from robobrowser import RoboBrowser browser = RoboBrowser() browser.open("https://en.wikipedia.org/wiki/Wikipedia") # Must find the proper id in the html form = browser.get_fo
import re
from robobrowser import RoboBrowser
browser = RoboBrowser()
browser.open("https://en.wikipedia.org/wiki/Wikipedia")
# Must find the proper id in the html
form = browser.get_form(id = "searchInput")
form
form["searchval"].value = "Beethoven Opus 131"
browser.submit_form(form)
links = browser.get_links()
for link in links:
print(link)
print("Le Fin.")
我每次都会遇到以下错误(duckduckgo.com除外)
第16行,在
表格[“searchval”].value=“贝多芬作品131”
TypeError:“非类型”对象不可下标
为什么这里出现
NoneType
错误?我知道变量之前没有定义,但Duckduckgo也没有定义。请帮助。首先,您的表单定位不正确。带有id=“searchInput”
的元素是input
元素,而您需要form
元素-它具有id=“searchform”
此外,由于有2个提交按钮,您需要让robobrowser
使用哪一个按钮:
form = browser.get_form(id="searchform")
form["search"].value = "Beethoven Opus 131"
browser.submit_form(form, submit=form.submit_fields['go'])
为我工作
form = browser.get_form(id="searchform")
form["search"].value = "Beethoven Opus 131"
browser.submit_form(form, submit=form.submit_fields['go'])