第 4 章 处理图像、音频和其他资源
在本章中,我们将介绍:
-
在网络上下载媒体内容
-
使用 urllib 解析 URL 来获取文件名
-
确定 URL 的内容类型
-
根据内容类型确定文件扩展名
-
下载图像并保存到本地文件系统
-
下载图像并将其保存到 S3
-
生成图像的缩略图
-
使用 Selenium 截取网站屏幕截图
-
使用外部服务截取网站屏幕截图
-
使用 pytessaract 对图像执行 OCR
-
创建视频缩略图
-
将 MP4 视频翻录为 MP3
抓取的常见做法是下载、存储和进一步处理媒体内容(非网页或数据文件)。 该媒体可以包括图像、音频和视频。 为了在本地(或在 S3 之类的服务中)存储内容并正确执行,我们需要知道媒体的类型是什么,并且仅仅信任 URL 中的文件扩展名是不够的。 我们将学习如何根据网络服务器的信息下载并正确表示媒体类型。
另一个常见的任务是生成图像、视频甚至网站页面的缩略图。 我们将研究如何生成缩略图和制作网站页面屏幕截图的几种技术。 很多时候,这些在新网站上用作指向现在存储在本地的已抓取媒体的缩略图链接。
最后,通常需要能够对媒体进行转码,例如将非 MP4 视频转换为 MP4,或者更改视频的比特率或分辨率。 另一种情况是仅从视频文件中提取音频。 我们不会考虑视频转码,但我们将使用 ffmpeg 从 MP4 文件中提取 MP3 音频。 只需简单的一步即可使用 ffmpeg 对视频进行转码。