PHP前端开发

爬虫下载附件失败:如何解决政府网站附件下载难题?

百变鹏仔 5天前 #Python
文章标签 爬虫

爬虫下载附件的问题:附件下载不下来

问题描述

使用提供的爬虫代码爬取政府网站的附件时,无法下载附件。

代码分析

def download(filename, url, path):    """    下载附件    """    try:        print('下载中,请耐心等待...')        r = requests.get(url)        with open(path + filename, "wb") as file:            file.write(r.content)        print(filename, '下载ok')    except:        print(filename, '下载失败')

解决方案

从代码中可以看出,下载附件的功能已经实现。问题原因可能不在于代码,而是其他方面:

优化建议

即使解决了附件下载问题,代码仍有优化空间:

优化后的代码

import contextlibdef download(fileName, url, path):    """    下载附件    """    try:        print('下载中,请耐心等待...')        with contextlib.closing(requests.get(url, stream=True)) as r:            with contextlib.closing(open(path + fileName, "wb")) as File:                File.write(r.content)        print(fileName, '下载Ok')    except:        print(fileName, '下载失败')