Scrapy 下载文件和图片

  我们学习了从网页中爬取信息的方法,这只是爬虫最典型的一种应用,除此之外,下载文件也是实际应用中很常见的一种需求,例如使用爬虫爬取网站中的图片、视频、WORD文档、PDF文件、压缩包等。

1、FilesPipeline 和 ImagesPipeline

  Scrapy 框架内部提供了两个 Item Pipeline,专门用于下载文件和图片:

  (1)FilesPipeline

  (2)ImagesPipeline

  我们将这两个 Item Pipeline 看做特殊的下载器,用户使用时只需要通过一个特殊字段将要下载文件或图片的 url 传递给它们,它们会自动将文件或图片下载到本地,并将下载结果信息存入 item 的另一个特殊字段,以便用户下载导出文件中查阅。

  图片也是文件,所以下载图片本质也是下载文件,ImagesPipeline 是 FilesPipeline 的子类,使用上和 FilesPieline 大同小异,只是在使用的 item 字段个配置上略有差别

  FilesPipeline     ImagesPipeline    
导入路径         scrapy.pipeline.files.FilesPipeline     scrapy.pipeline.files.ImagesPipeline
Item 字段 file_urls, files image_urls, images
下载目录 FILES_STORE IMAGE_STORE


  
     

<html>
      <body>
          <a href = '/book/sg.pdf'>下载《三国演义》</a>
          <a href = '/book/shz.pdf'>下载《水浒传》</a>
          <a href = '/book/hlm.pdf'>下载《红楼梦》</a>
          <a href = '/book/xyj.pdf'>下载《西游记》</a>
      </body> 
</html>        

  

原文地址:https://www.cnblogs.com/jcjc/p/10910922.html