我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

  • A+
所属分类:编程语言

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

框架安装

不好意思用别人网站作为被爬取的例子,下面从头开始,以本站为例,开始一个简单的爬虫之旅。

因为习惯原因,本文均以python2作为工作环境。

scrapy框架的安装非常简单,只要一行命令,前提是你已经有了pip包管理器:

pip install scrapy

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

在工程中加入一个爬虫

首先进入工程目录:

cd formoon

随后可以建立工程中第一个爬虫:

#scrapy genspider <爬虫名称> <爬虫所应用的域名称>,例如:scrapy genspider pages formoon.github.io

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

上面命令会在路径:<工作目录>/formoon(这个是工程目录)/formoon/spiders/路径之下,建立一个python程序文件pages.py,其默认的内容:

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

执行爬虫

执行爬虫使用如下命令:

scrapy crawl pages

获得的结果如下:

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

从结果中可以看到,我们的爬虫已经执行了,并获取了正确的结果。如果不想看到执行过程中的日志输出,可以增加--nolog参数,如下所示:

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

有了上面两个基本定义,还要将item和pipeline连接起来,这个配置在settings.py文件中,通常是被屏蔽的,表示平常不适用item及pipeline机制,将注释符号删除就可以开启:

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

你看,在爬虫程序中使用这种机制,让爬虫程序的结构也简单、清晰了。

试着执行一下:

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

我说我十分钟就能完成一个爬虫,你肯定说我吹牛!事实真的可以!

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: