将响应HTML文件存储到磁盘的垃圾下载中间件。
scrapy-html-storage的Python项目详细描述
这是一个将响应html存储到磁盘的垃圾下载中间件。
用法
打开下载程序,例如在settings.py中指定它::
DOWNLOADER_MIDDLEWARES = { 'scrapy_html_storage.HtmlStorageMiddleware': 10, }
默认情况下,不会将任何响应保存到磁盘。 您必须选择要保存响应HTML的请求:
def parse(self, response): """Processes start urls. Args: response (HtmlResponse): scrapy HTML response object. """ yield scrapy.Request( 'http://target.com', callback=self.parse_target, meta={ 'save_html': True, } )
用spider方法解析存储html的文件路径 响应HTML路径。例如:
class TargetSpider(scrapy.Spider): def response_html_path(self, request): """ Args: request (scrapy.http.request.Request): request that produced the response. """ return 'html/last_response.html'
配置
HTML存储下载器中间件支持以下选项:
- gzip_output(bool)-如果为true,则html输出将以gzip格式存储。 默认值为false。
- save_html_on_status(list)-如果不为空,则设置响应代码列表 白名单保存HTML。如果列表为空或未提供,则所有响应 将允许代码保存HTML。
示例:
HTML_STORAGE = { 'gzip_output': True, 'save_html_on_status': [200, 202] }