使用Mechanize(Python)输入站点

时间:2013-04-18 00:27:43

标签: python html browser mechanize

我正在尝试使用dictionary.com创建一个字典程序来源但我在源代码中找不到搜索框的名称

from mechanize import Browser

inp = raw_input("Enter Word: ")
Word = (inp)

SEARCH_PAGE = "http://dictionary.reference.com/"

browser = Browser()
browser.open( SEARCH_PAGE )
browser.select_form( nr=0 ) 

browser['name of search form'] = Word
browser.submit()

有人可以帮助我完成这项工作或帮助我在HTML源代码中找到搜索栏的名称吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Browser.forms()方法查看表单。 这些表单中的每一个都有一个名为controls的变量, 表单中的控件列表。 此列表中的每个控件都有一个“名称”变量。 您可以使用这些名称在浏览器中编制索引,如您所知。

from mechanize import Browser

inp = raw_input("Enter Word: ")
Word = (inp)

SEARCH_PAGE = "http://dictionary.reference.com/"

browser = Browser()
browser.open( SEARCH_PAGE )

form = list(browser.forms())[0]                        #The first form
print form
names = map(lambda n: n.name, form.controls)
print names

browser.select_form( nr=0 ) 

browser[names[0]] = Word

txt = browser.submit().read()

#txt has the html from dictionary.reference.com