189 8069 5689

网络爬虫以及Scrapy的介绍

网络爬虫以及Scrapy的介绍?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联是一家专注于成都网站设计、网站建设与策划设计,柯坪网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:柯坪等地区。柯坪做网站价格咨询:13518219792

网络爬虫

是指程序可以自动获取多个页面中的所有信息。如果使用某种技术(如正则表达式、XPath 等)来提取页面中所有的链接( 元素),然后顺着这些链接递归打开对应的页面,最后提取页面中的信息,这就是网络爬虫。

我们来分析网络爬虫具体要做哪些核心工作:

通过网络向指定的 URL 发送请求,获取服务器响应内容。

使用某种技术(如正则表达式、XPath 等)提取页面中我们感兴趣的信息。

高效地识别响应页面中的链接信息,顺着这些链接递归执行此处介绍的第 1、2、3 步;使用多线程有效地管理网络通信交互。

如果直接使用 Python 内置的 urllib 和 re 模块是否能写出自己的网络爬虫呢?答案是肯定的,只是比较复杂。就像我们要从广州去韶关,走路可以去吗?答案是肯定的,只是比较麻烦。

下面继续分析网络爬虫的核心工作:

向 URL 发送请求,获取服务器响应内容。这个核心工作其实是所有网络爬虫都需要做的通用工作。一般来说,通用工作应该由爬虫框架来实现,这样可以提供更稳定的性能,开发效率更高。

提取页面中我们感兴趣的信息。这个核心工作不是通用的!每个项目感兴趣的信息都可能有所不同,但使用正则表达式提取信息是非常低效的,原因是正则表达式的设计初衷主要是处理文本信息,而 HTML 文档不仅是文本文档,而且是结构化文档,因此使用正则表达式来处理 HTML 文档并不合适。使用 XPath 提取信息的效率要高得多。

识别响应页面中的链接信息。使用正则表达式可以实现这个核心工作,但是效率太低,使用 XPath 会更高效。

多线程管理:这个核心工作是通用的,应该由框架来完成。

现在来回答上面提出的问题,本章有存在的意义吗?当然有,本章并不介绍使用 urllib、re 模块这种简陋的工具来实现正则表达式,而是通过专业的爬虫框架 Scrapy 来实现爬虫。

Scrapy 是一个专业的、高效的爬虫框架,它使用专业的 Twisted 包(基于事件驱动的网络引擎包)高效地处理网络通信,使用 lxml(专业的 XML 处理包)、cssselect 高效地提取 HTML 页面的有效信息,同时它也提供了有效的线程管理。

一言以蔽之,上面列出的网络爬虫的核心工作,Scrapy 全部提供了实现,开发者只要使用 XPath 或 css 选择器定义自己感兴趣的信息即可。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


当前名称:网络爬虫以及Scrapy的介绍
网页地址:http://cdxtjz.com/article/igidch.html

其他资讯