使用you-get进行视频爬取

链接为you-get的使用说明。
https://github.com/soimort/you-get/wiki

you-get是利用python3写的,所以可以进行pip install you-get 进行安装。
注意及时更新,pip install –upgrade you-get

仅需使用视频网页的链接,就可以进行视频的下载。支持国内外主流视频网站。
you-get 下载的视频需要进行合并,建议是 ffmpeg。但是本人使用是,会出现不能自动合并的情况,这里需要后面研究。

视频爬取程序的基本流程是,
1,确定了爬取优酷的视频,并手动寻找了合适的视频资源进行 you-get 下载验证。这里需要提出的是,部分视频节目会跳转到另外的网站上面,本人是尽量选择优酷自己的资源。这样做工作量比较大,后期需要验证跳转网页下载的可行性。
2,利用 urllib.request.urlopen(url) ,抓取网页内容。取得网页内容之后使用 BeautifulSoup 进行网页分析,提取想要得到的 a 标签和对应的 href 标签 url 内容。提取到目标视频的 url 之后保存或者直接交到下载器,用 python 操作 cmd ,直接进行命令行的下载操作。这里的问题是对一些视频跳转的 url 进行正则提取,以获取我们需要的 url.

遇到的问题:
videoName = urllib.parse.quote(videoName)
这里,没有进行此处转换,后面会报错。应该是字符类型转化的问题,一直没有弄懂。

divNode = soup.find(‘div’,class_=’s_items’)
bs4 进行节点操作。非常方便的进行节点的提取和内容的提取。但是记不住如何使用,在这里进行备注。

vUrl = urllib.parse.urljoin(url,vUrl)
这里进行 url

### 实现视频下载或抓取 为了利用 `you-get` 库通过 Python 脚本实现视频下载或抓取,需先确保已正确配置 Python 和 `you-get` 的环境。对于 Windows 用户来说,建议安装最新版的 Python 3.10[^1]。 完成上述准备工作之后,可以通过 Python 调用 `subprocess` 模块来执行命令行指令从而达到调用 `you-get` 下载视频的目的。下面是一个简单的例子展示如何编写这样的脚本来指定 URL 并设置保存路径: ```python import subprocess import sys def download_video(video_url, save_path): try: command = ["you-get", "-o", save_path, video_url] result = subprocess.run(command, check=True) print("Download completed successfully.") except Exception as e: print(f"An error occurred during the download process: {e}") ``` 此函数接受两个参数:一个是目标视频页面链接 (`video_url`),另一个是要将文件存放在本地磁盘上的位置(`save_path`)。当调用了这个函数并传入相应的参数后,它会构建一条包含这些信息在内的命令字符串并通过 `subprocess.run()` 方法发送给操作系统去执行实际的任务[^4]。 另外一种方式是直接导入 `you_get` 包并在代码内部调用其接口来进行更复杂的操作,比如批量处理多个链接或是自定义更多选项。这里给出一段基于官方文档修改过的样例代码用于说明这种方法: ```python from you_get import common as you_get import ssl ssl._create_default_https_context = ssl._create_unverified_context def batch_download(urls_list, output_directory): for url in urls_list: try: you_get.any_download( url=url, output_dir=output_directory, info_only=False, stream_id='', merge=True ) print(f"{url} has been downloaded to {output_directory}.") except Exception as err: print(f"Failed to download {url}: ", str(err)) ``` 这段程序可以接收一个网址列表作为输入,并依次遍历每一个元素以启动单独的下载任务。注意这里的 SSL 设置是为了绕过某些网站可能存在的证书验证问题而特别加入的部分[^5]。 #### 注意事项 -使用过程中要确保已经按照提示完成了必要的第三方工具(如 FFmpeg)的安装。 - 对于特定平台或者特殊类型的流媒体服务,有时还需要额外安装其他支持组件才能顺利完成整个流程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值