【发布时间】:2016-10-28 01:18:15
【问题描述】:
我在理解模块请求时遇到了麻烦,我知道 http 有 post、get、put、delete 方法,但我想我需要更多地了解请求是如何工作的,我已经阅读了文档但我仍然有很多关于如何做某事的问题,这是我第一次尝试在没有硒或机械化的情况下为网络制作脚本
我试图与vubey.yt 进行交互,但我不能让我的 vubey url 改变我想要的(或者我手动使用 pag 时看到的)我可以发送我的数据,它会改变 url,但是如果我复制该网址并手动导航,它什么也不做......所以我不明白发生了什么,因为我没有任何视觉线索
这是我的代码(python 3.5):
def Descarga(youtubeid):
# also i have tried only sending videoURL without quality and sub, but is the same
r = requests.get('https://vubey.yt/', params={'videoURL': youtubeid, 'quality': '320', 'submit': 'Convert+To+MP3'})
print(r.url, r.status_code)
Descarga("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
如果有人能给我链接一个教程,让我真正了解如何使用这个模块,或者告诉我我做错了什么或对这个模块有什么误解,我会非常感谢
【问题讨论】:
-
您应该分析浏览器和 vubey.yt 之间的流量,您会发现它不仅仅是一个 GET。有一个 POST 开头,然后以某种方式将您返回到不同的 URL(有些像 vubey.yt/?download=<uuid>),该页面将向您显示“正在转换...”消息,最后向您显示“单击此处以下载”按钮。使用网络浏览器控制台查看实际情况,然后您一定可以找到您的实现。
-
有时网站有一个用于脚本的后端 API。我搜索了“vubey api”并得到了几个点击。没有任何东西作为后端 api 立即跳出来,但我从实现者那里得到了this,如果你挖掘可能会有更多信息。
-
是的,当我使用请求时,我总是会弄清楚浏览器在做什么,通常是按 F12(至少在 Chrome /FFox 中),然后转到“网络”选项卡。在那里,您只需监控浏览器发出的请求并尝试在请求中复制它们。
标签: python python-3.x web python-requests