Python 机械化成型

Python 机械化成型,python,forms,mechanize,form-submit,Python,Forms,Mechanize,Form Submit,我正在编写一个较大程序的一小部分,该程序使用mechanize将YouTube URL输入到表单中,但我无法让它工作 我正在使用页面上的第一个表单nr=0,但是我不知道在br[]属性框中放置什么,因为我没有表单的名称,只有id 这是我的密码: import mechanize url = "Youtube to Mp3 URL" br = mechanize.Browser() br.set_handle_robots(False) br.open(url) br.select_form(nr

我正在编写一个较大程序的一小部分,该程序使用mechanize将YouTube URL输入到表单中,但我无法让它工作

我正在使用页面上的第一个表单
nr=0
,但是我不知道在
br[]
属性框中放置什么,因为我没有表单的名称,只有id

这是我的密码:

import mechanize

url = "Youtube to Mp3 URL"
br = mechanize.Browser()
br.set_handle_robots(False)
br.open(url)
br.select_form(nr=0)
br[?] = "Youtube Video URL" #What goes in the []?
res = br.submit()
content = res.read()
print content
我确信这是一个愚蠢的问题,但其他问题都帮不了我


谢谢大家!

我测试了以下几项并成功:

br.select_form(nr=0)
for field_name in br.form.controls:
    print field_name
这将为您提供需要填写的字段名称的线索,它将位于括号中,如下所示:

<HiddenControl(submit_hidden=submit_hidden) (readonly)>
<TextControl(user_name=)>
<PasswordControl(user_password=)>
<SubmitControl(submit=Login) (readonly)>

看起来您正在尝试在表单中获取字段?如果是这种情况,您可以尝试使用循环,
for field in br.选择_form():
或至少使用for打印每个字段的名称
,这就是我得到的结果?看起来表单没有名称。那么我如何输入它们!?如果您共享您试图浏览的url,也许我可以想出一些办法。我想出了一种使用youtube url提交表单的方法,现在的问题是您需要javascript来下载视频,而mechanize不支持它。我更新了我的答案。
   browser.select_form(nr=0)

   for field in browser.form.controls:
       field._value = "http://www.youtube.com/watch?v=ARz8ddGIZIA"
       break

   browser.submit()
   response = browser.response().read()