用请求模块下载mp3?

时间:2016-10-28 01:18:15

标签: python python-3.x web python-requests

我在理解模块请求时遇到问题,我知道http有post,get,put,delete方法,但我想我需要了解更多关于请求如何工作的信息,我已经阅读了文档,但我仍然有很多关于如何做某事的问题,这是我第一次尝试为没有selenium或机械化的web制作脚本

即时尝试与vubey.yt进行互动,但我无法根据自己的需要(或手动使用pag时看到的内容)更改我的vubey网址,我可以发送数据,然后更改网址,但如果我复制该网址并手动导航,它什么都不做......所以我不明白发生了什么,因为我没有任何视觉线索

这是我的代码(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")    

如果有人可以链接我一个教程,真正了解如何使用这个模块或告诉我我做错了什么或误解了这个模块我会非常感谢

1 个答案:

答案 0 :(得分:0)

与我一起查看网站代码:

<form class="w-clearfix" name="wf-form-signup-form" data-name="conversionForm" form action="/" method="post" id="conversionForm">

这是一种形式。表单使用方法&#39; post&#39;在同一页面。

<input class="w-input field" id="videoURL" type="text" placeholder="Video URL" name="videoURL" data-name="videoURL" required="required">

第一个数据&#34; videoURL&#34;。

<select class="w-select" id="quality" name="quality" data-name="quality" required="required">

第二个数据&#34;质量&#34;。

<input class="w-button button" type="submit" name="submit" value="Convert To MP3">
</form>

提交按钮并不重要。忽略它。

现在,让我们来pythonify。

import requests

video_url = 'https://www.youtube.com/watch?v=C0DPdy98e4c'
quality = '320'

post_data={ 'videoURL': video_url, 'quality': quality }

response = requests.post('https://vubey.yt/', data=post_data)

print(response.url, response.status_code)

现在你可以解析response.content并搜索&#34;请等待&#34;直到转换完成。