Man*_*noj 2 python forms mechanize mechanize-python
我发现如何使用教程从谷歌搜索中检索主题的html页面.这在教程中给出.
import mechanize
br = mechanize.Browser()
br.open('http://www.google.co.in')
br.select_form(nr = 0)
Run Code Online (Sandbox Code Playgroud)
直到这一点我理解它才能找回这个表格.然后就是这样
br.form['q'] = 'search topic'
br.submit()
br.response.read()
Run Code Online (Sandbox Code Playgroud)
这会输出与搜索主题相关的页面的html.但我怀疑br.form [parameter]中的这个参数应该是什么?因为我尝试了谷歌新闻,它取得了成功的结果.有人可以帮助我吗?
它是表单字段的id,如页面源中所示.
您可以像这样获取可用的id值:
import mechanize
br = mechanize.Browser()
br.open("http://www.google.com/")
for f in br.forms():
print f
Run Code Online (Sandbox Code Playgroud)
这给了我:
<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)>>
Run Code Online (Sandbox Code Playgroud)
这说:
页面上只有一个表单
隐藏字段id是ie(页面编码),hl(语言代码),hp(?不知道)和gbv(也不知道).
唯一的非隐藏字段id是q,它是文本输入,即搜索文本.