2016 - 2024

感恩一路有你

scrapy框架优缺点 有什么好的python3爬虫入门教程或书籍吗?

浏览量:4247 时间:2023-04-27 10:11:21 作者:采采

有什么好的python3爬虫入门教程或书籍吗?

Scrapy tutorial()是一个用Python编写的快速开源的网络爬虫框架,用于在基于XPath的选择器的帮助下从网页中提取数据。

Scrapy于2008年6月26日在BSD下首次发布,milestone 1.0于2015年6月发布。

为什么是Scrapy?

更容易构建和扩展大型爬行项目。

它有一个称为选择器的内置机制,可以从网站中提取数据。

它异步处理请求,速度非常快。

它采用自动调节机制,自动调节爬网速度。

确保开发者的可访问性。

搔痒症的特征

Scrapy是一个开源的免费网络爬虫框架。

Scrapy生成JSON、CSV和XML格式的Feed输出。

Scrapy内置了通过XPath或CSS表达式从数据源中选择和提取数据的支持。

基于爬虫的Scrapy允许从网页中自动提取数据。

优势

Scrapy易于扩展,速度快,功能强大。

它是一个跨平台的应用框架(Windows、Linux、Mac OS和BSD)。

Scrapy请求是异步调度和处理的。

Scrapy自带一个名为Scrapyd的内置服务,允许你上传项目,使用JSON Web服务控制蜘蛛。

虽然网站没有访问原始数据的API,但是你可以取消任何网站。

劣势

Scrapy仅在Python 2.7中可用。

不同的操作系统安装不同。

有python感受吗,请问像携程网这种网站怎么爬取?

清理了运行Scrapy爬虫的bug后,现在可以开始写爬虫逻辑了。在正式开始爬虫编写之前,这里有四个小技巧可以帮助我们操纵和调试爬虫。

首先,直接在Pycharm下创建文件并调试。

很多时候,当我们使用Scrapy crawler框架时,如果我们想运行Scrapy crawler项目,我们通常会想到直接执行命令 "scrapy爬行爬虫名称 "在命令行中,其中crawler_name是指爬虫的名称,是当初创建Scrapy爬虫模板时指定的,在爬虫项目中是唯一的。但是每次跑到命令行执行,看到交互的结果,有时候不是很清楚,所以这里有一个方法,可以帮助你提高开发效率,尤其是在调试的时候。

在与爬虫项目文件相同的目录下创建一个文件,用来控制整个爬虫项目的执行。

写在这个文件夹中的代码如下所示。scrapy中嵌入了execute函数,调用该函数可以直接调用Scrapy项目的抓取。蠕虫脚本,该功能的执行需要在爬虫项目的父目录下进行。第七行代码的意思是获取当前py文件的父目录,这样可以节省我们直接复制路径的精力和时间,也方便我们把项目放到其他平台上运行而不会报错路径。执行函数中的参数实际上了Scrapy crawler 的执行命令,并将它们以一个字符的形式放入一个数组中。

之后我们可以直接运行这个文件,调用Scrapy爬虫。

第二,用Debug来调试,提高开发速度。

相信用过Pycharm的朋友都看过Debug,意思是 "bug "用英语。Pycharm里的logo也是bug,像瓢虫,但是很多朋友可能没用过。下面给大家简单介绍一下。希望你以后能多使用,这对项目的调试很有帮助。

在调试之前,我们需要打断我们要调试的代码左侧的点。断点一般是红色的,断点的很简单,只需点击代码左侧的左键即可,如下图所示。

设置断点后,可以转到文件进行调试。右键单击文件并选择 "调试和测试。;主 ",如下图所示。

之后爬虫会开始调试并返回一系列结果,如下图所示,可以方便的拖拽查看。同时,爬虫的结果会在爬虫文件中以绿色字体显示,非常美观。

如果您想退出或停止调试,单击Pycharm上面的选项卡上的Run,然后单击Stop 主 ,如下图所示。

之后爬虫会退出调试,恢复正常的Pycharm界面,如下图所示。

第三,将网站robots.txt规则设置为False。

一般来说,在我们使用Scrapy框架来捕获数据之前,我们需要提前进入文件并修改 "服从真实 "to robots txt _ observe False。

未更改文件中的默认爬虫遵循网站的robots.txt规则,如下图所示。

如果按照robots.txt的规则,抓取结果会自动过滤掉很多我们想要的目标信息,所以需要将这个参数设置为False,如下图所示。

设置了robots.txt的规则后,我们就可以捕捉到更多的网页信息了。

4.用Scrapy shell调试

通常,当我们想运行Scrapy爬虫程序时,我们会输入 "scrapy爬行爬虫名称 "在命令行中。细心的朋友应该知道,上一篇文章创建的文件也可以提高调试效率,但是这两种方法。所有方法都需要从头到尾运行Scrapy爬虫项目,每次都需要请求一个URL,效率非常低。所有运行过Scrapy爬虫项目的朋友都知道Scrapy运行相对较慢,有时根可以 因为网速不稳定而无法移动。针对每次运行Scrapy爬虫的问题,为大家介绍Scrapy shell的调试方法,可以事半功倍。

Scrapy为我们提供了一个shell模式,可以让我们在shell脚本下获取整个URL的源代码。在命令行上运行它,它的语法命令是 "scrapy外壳URL ",而URL是指你需要抓取的网址或链接,如下图所示。

这个命令意味着调试URL。命令执行后,我们已经获取了URL对应的网页内容,然后就可以在shell下调试了,所以我们不 不要每次启动URL请求都执行无用的爬虫。

通过shell脚本可以大大提高调试的效率,具体调试方法与爬虫主文件中的表达式语法一致。举个栗子,如下图。

通过将两个Xpath表达式对应的选择器放入scrapy shell调试的脚本中,可以清晰的看到提取的目标信息,省去了每次运行scrapy爬虫的重复步骤,提高了开发效率。这种方法在Scrapy爬虫的过程中很常见,也很实用。希望各位朋友都能掌握,并积极为自己所用。

让 s先在这里分享一些Scrapy爬虫项目的操作和调试技巧,尤其是调试和Scrapy shell调试。希望朋友们多多利用,让他们为自己的项目服务,可以事半功倍~

原始链接:

原始链接:

爬虫 Scrapy 项目 文件 网站

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。