首页 > 编程知识 正文

爬虫scrapy流程,anaconda爬虫教程

时间:2023-05-06 07:41:41 阅读:175613 作者:2036

本文介绍了网络爬虫框架抓取。

框架是什么:在建筑学的概念中,框架是基本概念上的结构,用来解决和处理复杂的问题。 通俗地说,是有约束力的架子。

在我们的计算机领域,尤指为解决开放性问题而设计的具有一定制约性的支撑结构。 所以,Python的爬虫框架是爬虫项目的半成品。 例如,可以编写实现常见爬行动物功能的部分代码,并保留一些界面。 做不同的爬虫项目时,我们只需要根据需要写一点需要更改的代码,实现爬虫项目。 半成品并不是没有完整的复用代码,框架已经实现了许多常用功能,可以有效地开发所需的爬虫项目。 认识Scrapy框架: Scrapy框架是比较成熟的python爬虫框架,是用python开发的一种快速高层次的信息爬取框架。

Scrapy框架的应用领域很多,包括互联网爬虫开发、数据挖掘、数据监测等。 使测试等自动化。

Scrapy的官网地址为: http://scrapy.org

看了这么绿色的界面后,还是需要说无聊的文字

首先是安装Scrapy

目前,Scrapy支持python3,您可以直接在windows上安装pip install Scrapy来安装最新版本。但是首先要安装他的依赖包。

请更新pip

现在开始安装Twisted模块。 但是,直接pip安装会报告错误。 下图:

所以我们先下载到这个地址。 33559 www.lfd.UCI.edu/~ Goh lke/python libs/# twisted

然后根据python版本下载支持版本的版本。 我是python 3.6.4。 选择twisted-18.9.0-cp36-cp36m-win _ amd64

下载并放在桌面上,在桌面上启动cmd。 (按住shift键并右键单击,然后选择在此处打开命令窗口。 )键入pipinstalltwisted-18.9.0-cp36-cp36m-win _ amd64.whl。

再安装一个pywin32

最后直接pip

当使用其它版本时,例如pip安装脚本==1.1.0RC-3

PS:

如果使用的是anaconda,请在安装过程中直接切入anaconda使用的环境目录scripts并打开命令行。

安装conda安装脚本。 (或切入Anaconda图形界面下载)

然后在cmd上输入Scrapy,如果有消息就成功了!

制作第一个项目。 安装完成了。 我等不及要尝试创建项目了吧

First_Get是我这里的项目名称。 (您可以进入用cmd保存项目的文件夹。)

你会看到这样的东西。 别着急,先看看这是什么。

当我们使用命令生成项目时,将生成与爬虫项目名称同名的文件夹。 例如,这时我们的爬虫项目名为First_Get,所以它有一个名为First_Get的子文件夹和一个scrapy.cfg文件。

爬虫项目的核心代码位于同名子文件夹中,scrapy.cfg文件主要是爬虫项目的部署文件。

python文件,如项目中同名子文件夹中的核心代码、spiders、__init__.py、items.py、pipelines.py、settings.py等

init.py文件是项目的初始化文件,主要包含几个项目的初始化信息。 主要初始化spiders

items.py文件是爬虫项目的数据容器文件,主要用于定义我们要获取的数据信息。

文件pipelines.py是爬虫项目的管道文件,主要用于进一步加工和处理items定义的数据。

settings.py文件是爬行动物项目的附加文件,主要是爬行动物项目的一些设置信息。

spiders文件夹下放置的是爬行动物项中爬行动物部分的相关文件。

修改项目参数:然后开始第一个项目。 进行Scarpy的爬行动物项目管理。

首先用cmd命令把CD发送到项目

显示项目特定的参数。

我们可以分别分析这些重要的参数。

log file=file参数主要用于指定日志文件。 其中,file是指定日志文件的路径地址。

例如,如果将日志文件保存在当前目录的上一个目录中,并将日志文件名指定为logf.txt .则:

效果如下。

建造完成了。 现在,您已使用log file参数将相应的日志信息写入指定文件夹。

-loglevel=LEVEL,-L LEVEL参数主要用于控制日志信息级别,缺省为调试模式。 除了调试级别外,还可以将相应的级别设置为其他值。

CRITICAL发生得最严重的是

错误ERROR发生了必须立即处理的错误WARNING出现了一些警告INFO输出一些提示信息DEBUG输入一些调试信息。debug

在这里我们要把日志等级设置为DEBUG最低级别。此时所有得调试信息都会输出出来。如果只是需要一些警告的日志信息,可以设置为WARRING

设置成功。

通过–nolog参数可以控制不输入日志信息。可以通过下面操作,实现创建一个爬虫项目,并不输入项目信息。

scrapy startproject --nolog mypjt3

以上就是一些Scrapy项目创建指令中常见重要参数,希望各位朋友可以全面掌握项目创建指令的使用,可以根据需求创建出自己的爬虫项目。
如果我们需要删除某个爬虫项目,我们可以直接删除对应的文件夹来实现。

常用工具命令:

Scrapy中,工具命令分了两种,一种为全局命令,一种为项目命令。
全局命令不需要依靠Scrapy项目就可以在全局中直接运行,而项目命令必须要在Scrapy项目中才可以运行。
1、全局命令:
其实我们可以在不进入Scrapy爬虫项目所在目录的情况下。运行scrapy -h 。在commands下出现所有得全局命令。如下:

fetch命令:主要用来显示爬虫爬取的过程。

如果在Scrapy项目目录之外使用该命令。则会调用Scrapy默认的爬虫来爬取该页面信息。如果在Scrapy某个项目目录内使用该命令,则会调用该项目中的爬虫来爬取网页。
当然我们也可以在使用scrapy fetch -h的时候+上参数,比如显示头信息 --headers 和不显示日志信息 --nolog.

scrapy fetch --headers --nolog http://news.sina.com.cn/


上面就是Scrapy中fetch命令的使用。通过fetch命名我们可以很方便的查看爬取某个网页的过程。

runspider命令:
通过Scrapy中的runspider命令我们可以实现不依托Scrapy的爬虫项目,直接运行一个爬虫文件。
首先我们先编写一个Scrapy爬虫文件如下:

仅此我们只需要简单的了解该爬虫文件,因为在后续的文章中我会讲解如何编写优质的爬虫文件。
如图该爬虫文件的名字为first,同时爬取的网址为http://www.baidu.com
然后我们可以使用runspider命令直接运行该爬虫文件。并将日志等级设置为INFO。

可以看到,通过该指令在不依靠Scrapy项目的情况下完成了爬虫文件的运行。

settings命令:
第三个全局命令了,settings命令可以查看Scrapy对应的配置信息。
如果在Scrapy项目目录内使用settings命令,查看的是对应的项目信息,如果在Scrapy项目目录外使用settings命令,查看的是Scrapy默认配置信息。

这些就是项目的配置信息。我们也可以在命令行中进入该项目所在的目录。比如我们可以通过下面指令来查看配置信息中BOT_NAME对应的值

scrapy settings --get BOT_NAME

shell命令:
shell命令主要是可以启动Scrapy的交互终端。经常在开发以及调试的时候用到,使用Scrapy的交互终端可以在不启动Scrapy爬虫的情况下,对网站响应进行调试,同样,在该交互终端中,我们也可以写一些python代码进行响应测试
比如我们为爬取百度首页创建一个交互终端环境,并设置为不显示日志信息。如下所示:

可以看到,执行了该命令之后,会出现可以使用的Scrapy对象以及快捷命令,比如item,response,settings,spider等,并进入交互模式,在“>>>”后可以输入交互命令及代码。(ctrl+c退出交互模式)

startproject命令:
第五个命令了。这个大家应该不陌生了,主要就是创建项目用。

version命令:
通过version命令,可以直接显示Scrapy的版本相关信息。(加上-v 可以查看相关的其他版本信息)

view命令:
通过view命令,我们可以实现下载某个网页并用浏览器查看的功能。
比如我们可以通过下面命令下载网易新闻首页(http://news.163.com/)并自动用浏览器查看下载的网页。

2、项目命令:
全局命令也算差不多了。大家也经常回顾,下面开始介绍一些项目命令了。
可以先cd 进入一个项目内,然后输入scrapy -h查看所有得命令。出去我们之前说的全局命令,其他的就是项目命令了。

Bench命令:
主要是测试本地硬件的性能,当我们运行scrapy bench的时候,会创建一个本地服务,并且会以最大的速度爬行。所以我们要了解下本地硬件的性能,避免被其他因素影响。


可以看到,大概每分钟可以爬取2400个网页。虽然这只是目前的一个参考标准。在实际运行的时候,会由于各种因素导致速度不同,所以我们需要根据实际的速度来改进我们的项目

Genspider命令:
主要是来创建Scrapy爬虫文件。是一种快速创建爬虫文件的方式。
使用该命令可以基础现有的爬虫模板直接生成一个新的爬虫文件。同样,必须要爱Scrapy爬虫项目目录中。
可以用该命令的 -l 参数来查看当前可以使用的爬虫模板。

此时,可以基于其实任何一个爬虫模板来生成一个爬虫文件,比如我们可以使用basic模板来生成一个爬虫文件,格式为"scrapy genspider -t (模板) (新爬虫名) (新爬虫爬取的域名)"

自动生成为可执行文件:

Check命令:
这个命令跟名字很像,在爬虫中测试是一个很麻烦的事情,所以在Scrapy中使用合同(contract)的方式对爬虫进行测试。
而使用check命令,可以实现对某个爬虫文件进行合同(contract)检查。
比如要对刚生成的xixixi.py进行合同检查。我们可以使用: scrapy check 爬虫名 。 来实现,此时check后面的爬虫min,不是文件名,没有后缀的。

Crawl命令:
crawl命令可以来启动某个爬虫,启动格式是"scrapy crawl 爬虫名"
比如 scrapy crawl xixixi --loglevel=INFO

List命令:
通过Scrapy中的list命令,我们可以列出当前可以使用的爬虫文件。
比如我们现在在这个目录下,有1个可用文件

Edit命令:
通过edit命令,我们可以直接打开对应编辑器对爬虫文件进行编辑。在windows中我们一般使用Python IDE 或者Pycharm直接对爬虫项目进行管理和编辑。所以不多说这个了。有兴趣可以留言。

Parse命令:
parse命令使我们可以实现获取指定的URL网址,并使用对应的爬虫文件进行处理和分析。
比如我们可以使用"scrapy parse http://www.baidu.com"来获取百度首页,由于在这里没有指定的爬虫文件,也没有指定处理函数,所以此时会使用默认的爬虫文件和默认的处理函数,进行相应的处理。

我们可以使用 scrapy parse -h 来查看所有参数。

参数表我直接贴图了,码了10500+的字 贼辛苦q.q.

本篇文章到这里就先结束了。
本篇主要讲解了什么是爬虫框架,Python中的Scrapy框架,以及Scrapy框架的安装和Scrapy的目录结构,如何进行爬虫项目管理和一些常用的工具命令。
这些知识对我们后面的编写环节还是很重要的,希望在看的时候可以多回顾一下。
下一篇:开启Scrapy爬虫项目之旅

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。