pysipder下载文件超时
我使用pyspider下载pdf文件,具体爬虫代码如下:
@config(priority=2)
def detail_page(self, response):
author = []
for each in response.doc('h2 a').items():
author.push(each.text())
file = self.down_file(response.doc('.download-links a[href^="http"]').attr.href)
return {
"author": ",".join(author),
"title": file,
}
def down_file(self, file_url):
file_name = file_url.split('/')[-1]
u = urllib2.urlopen(file_url)
f = open(file_name, 'wb')
meta = u.info()
file_size = int(meta.getheaders("Content-Length")[0])
file_size_dl = 0
block_sz = 8192
while True:
buffer = u.read(block_sz)
if not buffer:
break
file_size_dl += len(buffer)
f.write(buffer)
f.close()
return file_name
结果爬取超时TimeoutError: process timeout,不知该如何处理?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不要在脚本中调用 urllib2.urlopen,这样会柱塞脚本的运行。
如果文件小于10M,使用 self.crawl 抓取即可,如果大于10M,将链接导出到另外的系统中进行下载。
对于大文件下载,能否启动多线程下载?
源码中设置了process的时间30s,而且没有提供修改的入口.
所以要不修改源码,要不修改代码.