使用Python 利用you-get 下载视频
直接上代码:
未完成的部分:
1 下载过程会卡住,百度无解,
2 网址获取不完整,还在解决中,
3 仅仅使用re,requests,you-get
4 不满意的地方太多了,
代码如下(示例):
```python
获取斗罗大陆的全部视频,
URL = https://v.qq.com/detail/m/m441e3rjq9kwpsc.html
使用的moudle,
-requests
-re
-you_get
以及常用的模块,
headers = {
'User-Agent':'Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0'
}
'''
if __name__ == '__main__':
# 导入需要的模块
import requests
import re
from you_get import common as you_get
import time
import os
headers = {
'User-Agent':
'Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0'
}
url = 'https://v.qq.com/detail/m/m441e3rjq9kwpsc.html'
ex = '<span class="item".*?><a href="(.*?)".*?>.*?</a></span>'
page_list = requests.get(url=url, headers=headers, timeout=20).text
# print('正在链接中!', reponse.status_code)
# page_list = reponse.text
# print(page_list)
url_list = re.findall(ex, page_list, re.S)
# Great a finder to save modive,
dir_ = '/home/xingzhe/Desktop/liuzhangping/douludalu/'
if not os.path.exists(dir_):
os.mkdir(dir_, mode=0o770)
# 目前只是获取到了一部分,有待优化,
down_url_list = []
# print(url_list)
for url_ in url_list:
if '/x/' in url_:
down_url_list.append(url_)
else:
pass
try:
for down_url in down_url_list:
you_get.any_download(url=down_url, info_only=False, output_dir=dir_, merge=True)
except("content fail"):
pass
print('over')
# 分析我们需要的内容,书写re的模式
"""
<span class="item" itemscope=""
itemprop="episode" itemtype="http://schema.org/Episode" _stat="series:numbtn">
<a href="https://v.qq.com/x/cover/m441e3rjq9kwpsc/i0025secmkz.html" target="_blank" itemprop="url">
<span itemprop="episodeNumber">6</span></a></span>
<span itemprop="episodeNumber">1</span>
ex = '<a href="https:(.*)" target="_blank" itemprop="url"><span itemprop="episodeNumber">(.*?)</span>'
</a>
"""
如有任何网站的侵权,请联系我删除!