鱼C论坛

 找回密码
 立即注册
查看: 712|回复: 4

求爬视频加快爬取的方法

[复制链接]
发表于 2018-6-6 23:41:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我在爬取视频的时候(.mp4等)的时候不管是用urllib.request.urlretrieve,还是用file.write()的方式感觉下载速度太慢,可能我这里网速有点慢,但是感觉比正常下载还要慢,请问有没有什么办法可以加快爬取速度吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-7 08:08:12 | 显示全部楼层
requests模块,例如这样:
 with closing(requests.get(download_url, headers=self.headers, stream=True)) as response:
            chunk_size = 1024
            content_size = int(response.headers['content-length'])
            if response.status_code == 200:
                sys.stdout.write('[File Size]: %0.2f MB\n' % (content_size/chunk_size/1024))
                with open(path, 'wb') as f:
                    for data in response.iter_content(chunk_size=chunk_size):
                        f.write(data)
                        size += len(data)
                        f.flush()
                        sys.stdout.write('[Progress]: %0.2f%%' % float(size/content_size*100) + '\r')
                        sys.stdout.flush()
设置chunk_size应该可以提高一点速度。
成功请帮忙采纳。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-7 10:51:48 From FishC Mobile | 显示全部楼层
各位大佬有没有什么好方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-7 11:28:23 | 显示全部楼层
用requests模块,类似这样:
with closing(requests.get(download_url, headers=self.headers, stream=True)) as response:
            chunk_size = 1024
            content_size = int(response.headers['content-length'])
            if response.status_code == 200:
                sys.stdout.write('[File Size]: %0.2f MB\n' % (content_size/chunk_size/1024))
                with open(path, 'wb') as f:
                    for data in response.iter_content(chunk_size=chunk_size):
                        f.write(data)
                        size += len(data)
                        f.flush()
                        sys.stdout.write('[Progress]: %0.2f%%' % float(size/content_size*100) + '\r')
                        sys.stdout.flush()
修改chunk_size加快速度。
from contextlib import closing
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-7 11:41:47 From FishC Mobile | 显示全部楼层
Charles未晞 发表于 2018-6-7 11:28
用requests模块,类似这样:

修改chunk_size加快速度。

感觉这像个类,大佬,能稍微说明一下这段代码的意思吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-24 02:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表