Python 如何为没有名称的HTTP GET请求输入参数?

Python 如何为没有名称的HTTP GET请求输入参数?,python,parameters,get,request,Python,Parameters,Get,Request,我正在使用python的请求模块,并向站点发送GET请求,如下所示: r = requests.get("https://www.youtube.com", params={"search_query":"Hello World"}).text 它只返回YouTube上搜索Hello World的页面的HTML,这是名为search_query的字段的参数 但是,假设我要输入的一个参数在站点上没有名称,但仍然是表单的一部分 我所说的站点具有以下代码: <input type="text"

我正在使用python的请求模块,并向站点发送GET请求,如下所示:

r = requests.get("https://www.youtube.com", params={"search_query":"Hello World"}).text
它只返回YouTube上搜索Hello World的页面的HTML,这是名为search_query的字段的参数

但是,假设我要输入的一个参数在站点上没有名称,但仍然是表单的一部分

我所说的站点具有以下代码:

<input type="text" id="youtube-url" value="http://www.youtube.com/watch?v=KMU0tzLwhBE" onclick="sALL(this)" autocomplete="off" style="width:466px;">
考虑到这个特定输入没有名称,我该如何向它发送一个参数

谢谢

编辑:代码的完整HTML:


这个网站不做任何正常的提交,一切都是通过javascript完成的。 当您按下按钮时,GET请求将按如下方式发送:

"/a/pushItem/?item=" + escape(g("youtube-url").value)
   + "&el=na&bf=" + getBF()
   + "&r="+ (new Date()).getTime();
然后根据此结果,发送另一个:

"/a/itemInfo/?video_id=" + video_id + "&ac=www&t=grp&r=" + a.getTime();
因此,在python中,您可以尝试以下方法:

import time

videoid = requests.get("http://www.youtube-mp3.org/a/pushItem/",
                 params={
                      "item": "your youtube video url",
                      "el": "na",
                      "bf": "false",
                      "r": int(time.time() * 1000000)   # JS timestamps are in microseconds
                 }).text


info = requests.get("http://www.youtube-mp3.org/a/itemInfo/",
                   params={
                       "video_id": videoid,
                       "ac": "www",
                       "t": "grp",
                       "r": int(time.time() * 1000000)
                   }).text
然后你必须解析这些信息,这些信息甚至不是JSON,而是更多的javascript,并对这些数据做任何你想做的事情


您可能需要处理验证码或转换进度。

如果输入没有名称,则不会与表单一起提交。javascript做什么?也许它使用ID作为名称?我对Javascript不太了解,但它看起来不像是基于网站的HTML使用ID作为名称提交表单,看看inspector的网络选项卡中发生了什么,你可以确切地看到提交的内容和方式。我在那里看过,但我仍在挣扎:我不清楚该网站是如何提交输入的只有一个问题:解析信息是什么意思你会得到这样一个字符串:info={标题:开发者,图片:http://i.ytimg.com/vi/KMU0tzLwhbE/default.jpg,长度:3,状态:发球,进度\速度:,进度:,广告:,pf:,h:b89796b7f81990b00f3352c80227f6cb},您必须从中提取有用的信息。主要是h位。下载链接是用您之前获得的视频id和h构建的。哦,伙计,这让人困惑:谢谢,不过,我会尝试找出答案,并在我尝试使用javascript时接受您的答案;转到“源”选项卡,选择client.js并按{}例如,按下按钮时调用btnSubmitClick,pushItem发送第一个请求,infoRehash发送第二个请求,checkInfo使用数据构建下载链接。