登录
原创

回炉重造 —— Scrapy框架(一)

发布于 2020-10-29 阅读 100
  • 架构
原创

回炉重造系列之Scrapy框架(一)

前言

由于前段时间的工作需要,又一次接触了爬虫。上一次系统的自学 Python编 写爬虫程序,还要追溯到19年年初刚开始实习的时候,那个时候刚刚步入工作岗位,一边正在熟悉 Python 语法,一边磕磕绊绊的照着教程看一步写一步。
虽然最终也是通过使用 Scrapy 框架,写出了一个可以大批量爬取的工具,但是对于 Scrapy 框架,甚至是Requests,Xpath,也是在日后的工作中,更进一步的掌握。正好也借此机会,对之前学习的一些框架、技术甚至 Python 语言本身,回炉重造一下。
回炉重造的第一步,先回忆一下 Scrapy 框架的基础信息。

1. Scrapy框架是什么

根据Scrapy官方文档所说

Scrapy is an application framework for crawling web sites and extracting structured data which can be used for a wide range of useful applications, like data mining, information processing or historical archival.
Even though Scrapy was originally designed for web scraping, it can also be used to extract data using APIs (such as Amazon Associates Web Services) or as a general purpose web crawler.

简单来说 Scrapy 就是一个用来提取网页结构化数据的框架,一个爬虫框架。能够更快速的搭建一个,可以更快抓取更多数据的爬虫程序。

2. 安装 Scrapy

在一个已经安装了 Python和 pip 的 Windows 系统的电脑上,安装 Scrapy 只需要通过

pip install scrapy

就能非常方便的安装框架,即使在使用过程中,出现有一些其他依赖包没有安装的报错,也只要根据报错信息,将所需要的依赖包安装好就行。

3.Scrapy 的一些优势

  1. 使用扩展的 CSS 选择器和 XPath 表达式从 HTML / XML 源中选择和提取数据的内置支持,以及使用正则表达式提取的辅助方法。
  2. 一个交互式的 Shell 控制台(支持 IPython),用于尝试 CSS 和 XPath 表达式以刮取数据,在编写或调试Spider时非常有用。
  3. 通过 feed 导出提供了多格式(JSON、CSV、XML),多存储后端(FTP、S3、本地文件系统)的内置支持
  4. 强大的编码支持和自动检测功能,用于处理外来的,非标准的和损坏的编码声明。
  5. 内置的中间件及扩展为下列功能提供了支持:
    cookies and session 的处理
    HTTP 功能,例如压缩,身份验证,缓存
    user-agent 模拟
    robots.txt
    爬取深度限制
  6. Telnet 控制台,用于连接到 Scrapy 进程中运行的 Python 控制台,以进行内部检查和调试搜寻器
    加上可重复使用的爬虫等其他功能,可从站点地图和 XML / CSV Feed 抓取网站。媒体管道,用于自动下载与抓取的项目关联的图像(或任何其他媒体),缓存DNS解析器等等!

评论区

🤣

1

0

2