我发现如何使用教程从谷歌搜索中检索主题的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]中的这个参数应该是什么?因为我尝试过谷歌新闻,它取得了成功的结果。有人可以帮助我吗?
答案 0 :(得分:6)
它是表单字段的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,它是一个文本输入,即搜索文本。
答案 1 :(得分:0)
参数应该是您填充字符串的表单元素的名称。 您可以使用诸如firebug之类的东西找到最简单的名称来检查网页(对于firefox,使用您可用于浏览器的任何内容)。 您也可以尝试查看页面的来源,但是当页面很复杂时,这很乏味。
E.g。表单的名称 - 我输入的框中的元素是“post-text”
答案 2 :(得分:0)
查看http://www.google.co.in资源,它有以下代码:
<input class="lst lst-tbb" value="" title="Google 搜索" size="41" type="text"
autocomplete="off" id="lst-ib" name="q" maxlength="2048"/>
name =“q”表示br.form [parameter
]
parameter