前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|初识scrapy爬虫

Python|初识scrapy爬虫

作者头像
Python进击者
发布2019-09-17 15:31:59
6040
发布2019-09-17 15:31:59
举报
文章被收录于专栏:JAVAandPython君JAVAandPython君

1

说在前面的话

JAP君在前面也是写过一些小爬虫的,其实那些都是爬虫文件。在学习scrapy之前我们得弄清楚爬虫文件和爬虫项目的区别,其实也非常容易理解,爬虫文件顾名思义就是单个的文件来写的爬虫,爬虫项目顾名思义就是一个大型的爬虫毕竟都称之为项目了,我们大家都知道项目是不可能只有单个文件的,它是由许多的文件组成并且每个文件之间有着很大的关联。

scrapy就是这么一个写爬虫项目的框架,怎么去玩它呢?今天JAP君带着大家一步一步来。

2

打仗首先得要有武器---scrapy框架的安装

其实安装scrapy特别的简单,就一句话的事。首先同时按windows键+R,然后输入cmd,最后在cmd中输入pip install scrapy .

由于JAP君用的是windows10开发只要这么简单几步就行了,但是JAP君从网络上也了解到其他的系统安装也有许多坑,但是win10安装也可能有坑,当然有坑的话可以加我们讨论群进行解决。

可是很多朋友还是不知道到底有没有安装成功,这时你仍然在cmd窗口输入scrapy命令,若有如下图的反应,那么恭喜你安装成功,可以好好玩耍了

3

有了武器要知道怎么用它---scrapy的常用指令

我们把scrapy安装成功后,该怎么去用了?没啥感觉啊!接下来我们就正式开始接触scrapy了!

其实我们的scrapy的操作都是通过命令行来进行的,有些什么命令呢?

1.scrapy -h (查看所有命令)

从这里我们可以看到scrapy的大部分命令,例如上面的version,我们就可以如下图输入:

2.scrapy startproject spider_name (创建一个项目工程)

这里我要说明一下,我们使用这个命令之前需要切换到我们自己建的一个文件夹里,然后再输入这串命令,就会在相应的文件夹中创建这个工程。

大家可以看我的命令输入,我首先是切换到我自己创建的scrapydemo的文件夹中,然后输入 scrapy startproject ceshi1 ,这个ceshi1是大家自己定义的。

3.scrapy genspider name domain (构建爬虫)

估计大家对domain有点懵逼,domain就是你想要爬取的域名,先来看一下一个例子吧。

大家会注意到,我使用这个命令是在我们的项目目录里面,因为我们是要在这个项目里面去构建这个爬虫,首先ceshi是我们自己定义的名字,baidu.com是我们要爬取的域名,大家这里估计又会疑惑为啥不是http://www.baidu.com?其实http这个东西是协议,而www是属于万维网也不是域名的一部分,所以这里我们直接输入baidu.com即可。

至于这串代码的具体体现,下面我会说的。

4.scrapy crawl name (运行爬虫,带log日志)

scrapy crawl name --nolog (运行爬虫,不带log日志)

这个命令咱们到后面来解释,因为这个需要我们去写一个简单的爬虫,大家只要记住运行爬虫就用它两。

4

创建项目之后是个啥样呢?

通过上面的命令scrapy startproject ceshi1 我们成功的建立了第一个scrapy爬虫项目,我们来看看到底有些啥?

ceshi1文件夹就是和我们创建是输入的名字是相同的

scrapy.cfg:爬虫项目的配置文件

我们在深入一下ceshi1文件夹

第一个文件夹:不必多说,一个缓存文件夹

第二个文件夹:就是我们爬虫的代码所在地

__init__.py:爬虫项目的初始化文件,用来对项目做初始化工作。

items.py:爬虫项目的数据容器文件,用来定义要获取的数据。

pipelines.py:爬虫项目的管道文件,用来对items中的数据进行进一步的加工处理。

settings.py:爬虫项目的设置文件,包含了爬虫项目的设置信息。

middlewares.py:爬虫项目的中间件文件

然后我们再次深入spiders文件夹

在这里我们发现了我们之前通过scrapy genspider ceshi baidu.com所生成的ceshi.py的文件。

其实这个项目我们可以用pycharm进行打开并且可以用pycharm进行编写项目,下次带大家实战一个项目的时候会看到的。

5

结尾

我们刚刚初识了一下scrapy框架的一些指令和文件夹,相信大家还是有一点点感觉了,下一篇我会带着大家利用scrapy框架去实战一个爬虫项目。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python进击者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档