我发现了如何使用教程从谷歌搜索中检索主题的 html 页面。这在教程中给出。
import mechanize
br = mechanize.Browser()
br.open('http://www.google.co.in')
br.select_form(nr = 0)
直到这我才知道它检索了表单。然后它被赋予了
br.form['q'] = 'search topic'
br.submit()
br.response.read()
这会输出与搜索主题相关的页面的 html。 但我的疑问是 br.form[parameter] 中的这个参数应该是什么?因为我在 Google News 上试过了,结果很成功。有人能帮帮我吗?
最佳答案
它是页面源代码中给出的表单域的 ID。
您可以像这样获取可用的 id 值:
import mechanize
br = mechanize.Browser()
br.open("http://www.google.com/")
for f in br.forms():
print f
这给了我:
<f GET http://www.google.ca/search application/x-www-form-urlencoded
<HiddenControl(ie=ISO-8859-1) (readonly)>
<HiddenControl(hl=en) (readonly)>
<HiddenControl(source=hp) (readonly)>
<TextControl(q=)>
<SubmitControl(btnG=Google Search) (readonly)>
<SubmitControl(btnI=I'm Feeling Lucky) (readonly)>
<HiddenControl(gbv=1) (readonly)>>
上面写着:
页面上只有一个表单
隐藏字段 id 是 ie(页面编码)、hl(语言代码)、hp(?不知道)和 gbv(也不知道)。
唯一的非隐藏字段id是q,它是一个文本输入,也就是搜索文本。
关于python - Mechanize (将输入设置为表单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11064122/