我正在尝试做的事情:我正在尝试使用特定网站自动下载YouTube视频。这个想法是,该网站为我提供了我输入的视频源,我下载了它。网站:https://en.savefrom.net/1-youtube-video-downloader-4/。以下是在HTML
中定义的输入文本字段:
<input type="text" name="sf_url" value="" autofocus="" placeholder="Paste your video link here" onfocus="if(this.value && this.select){this.select()}" id="sf_url">
我试过了:
import requests
payload = {"sf_url": "https://www.youtube.com/watch?v=jNQXAC9IVRw&vl=en"}
response = requests.post("https://en.savefrom.net/1-youtube-video-downloader-4/", payload)
print(response.text)
视频源不包括在HTML
中,它不工作
问题1:如何通过POST请求将数据发送到输入字段?(如何找到正确的键、值对等)
问题2:如何查找POST请求的键值对
经过近半个小时的搜索,我终于找到了答案
分析开始(代码在末尾):
首先,您应该使用此格式发出POST请求
确保将
sf_url
参数更改为目标youtube url然后你可以得到这样一个文本(加密)
如果您现在进入此页面,您将什么也看不到
因此,我们应该解密这个文本
答案隐藏在代码的最后几行
像这样
因此,在本例中,
_c($a)
是解密函数,_o($a)
是加密函数在另一种情况下,代码可能是这样的
因此,本例中的解密函数是
_e($d)
,_j($d)
是加密函数因此,在本例中,在控制台中使用
_c($a)
之后,结果文本就是如下所示的解密文本您可以看到这个片段中的url(靠近第22行)是我们的目标url
终于,我完成了!!!(可能4小时后)
这是我的解决方案(呃将近100行)
而且,要注意这一点(在使用网站和服务时)
相关问题 更多 >
编程相关推荐