1.引言
之前写过如何编写一个微博爬虫的文章,后来将微博爬虫开源到了GitHub上。 传统的视频图片的抓取姿势是如何的呢?如果使用requests包可以简单到下面这样的一句代码:
requests.get(img_url,stream=True).content
上述代码所完成的操作仅仅就是
- 1、打开网络流;
- 2、读取返回的内容。
为了突出重点,这里省略了代理、Header、以及超时的设置。但这样做不能分辨出假死的情况,尤其是微博这种视频图片居多的网站,很有可能卡在抓取视频图片的过程中不动。或者在下载大文件的时候,虽然文件一直在下载,但我们却不知道文件到底下载了多少,还有多少时间。
所以在爬虫开发过程中,如果能动态的展示视频或图片的下载过程对于监控爬虫运行时非常必要的。
2.正文
要做到为下载过程添加进度条,首先需要了解requests.get()方法和tqdm包。
2.1 tqdm包
tqdm来自阿拉伯文taqaddum ,意思是进度,也是西班牙语中的te quiero demasiado缩写,意思是我非常爱你。
2.1.1 安装的方式
conda install -c conda-forge tqdm
pip install tqdm