将响应HTML文件存储到磁盘的垃圾下载中间件。

scrapy-html-storage的Python项目详细描述


https://travis-ci.org/povilasb/scrapy-html-storage.svg?branch=masterhttps://coveralls.io/repos/github/povilasb/scrapy-html-storage/badge.svg?branch=master:target:https://coveralls.io/github/povilasb/scrapy-html-storage?branch=master

这是一个将响应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]
}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android Java在活动之间传递值   java当实体中存在关系时,我可以只使用实体的id而不是从DB中获取实体吗?   bouncycastle Java运行SSHD服务器错误未找到类定义   java SWT/Swing>Threads n'Hell   java多线程数据库读取   java如何在Eclipse中轻松提交Git   java在哪里可以找到字符串相等比较的一组特定排序规则?   无连接表的java单向单域关系   java扩展三角文件   java spring。杰克逊。序列化。failonemptybeans   java无法加载请求的类:oracle。jdbc。驾驶员OracleDriver   java通过数组进行索引循环并打印出元素?   找不到eclipse错误类中的java提交Hadoop作业   Java:随机设定种子   java片段、异步任务和侦听器   java在分号后使用{}