专栏首页Python爬虫与数据挖掘手把手教你如何新建scrapy爬虫框架的第一个项目(上)
原创

手把手教你如何新建scrapy爬虫框架的第一个项目(上)

前几天给大家分享了如何在Windows下创建网络爬虫虚拟环境及如何安装Scrapy,还有Scrapy安装过程中常见的问题总结及其对应的解决方法,感兴趣的小伙伴可以戳链接进去查看。关于Scrapy的介绍,之前也在文章中提及过,今天小编带大家进入Scrapy爬虫框架,创建Scrapy爬虫框架的第一个项目,具体过程如下所示。

1、进入虚拟环境,不知道进入的环境的小伙伴可以戳这篇文章:在Windows下如何创建指定的虚拟环境和在Windows下如何创建虚拟环境(默认情况下)。进入到环境之后可以通过“pip list”命令查看Scrapy是否安装成功,如下图所示。

可以看到Scrapy已经安装成功。

2、这里小编欲将Scrapy项目放到demo文件夹下,所以先退回到上级目录中去,如下图所示。

3、尔后开始新建Scrapy项目,输入创建Scrapy爬虫项目命令“scrapy startproject article”,其中article是爬虫项目的名称,可以自行更改的。输入创建命令之后,稍等片刻,系统会根据模板进行创建项目,模板所在的目录是“D:pythonDemo8Septemberdemoscrapy_demoLibsite-packagesscrapy emplatesproject”,与你的爬虫环境相关,如下图所示,等待项目创建完成。当然我们可以自定义爬虫模板,不过目前来看,Scrapy爬虫框架提供的模板够我们用的了,我们能把Scrapy搞明白也就可以了。

4、根据上图提示,首先进入到article文件夹下,输入命令“cd article”,之后通过“dir”查看目录,也可以通过“tree /f”生成文件目录的树形结构,如下图所示,可以很清晰的看到Scrapy创建命令生成的文件。

顶层的article文件夹是项目名。

第二层中包含的是一个与项目名同名的文件夹article和一个文件scrapy.cfg,这个与项目同名的文件夹article是一个模块,所有的项目代码都在这个模块内添加,而scrapy.cfg文件是整个Scrapy项目的配置文件。

第三层中有5个文件和一个文件夹,其中__init__.py是个空文件,作用是将其上级目录变成一个模块;items.py是定义储对象的文件,决定爬取哪些项目;middlewares.py文件是中间件,一般不用进行修改,主要负责相关组件之间的请求与响应;pipelines.py是管道文件,决定爬取后的数据如何进行处理和存储;settings.py是项目的设置文件,设置项目管道数据的处理方法、爬虫频率、表名等;spiders文件夹中放置的是爬虫主体文件(用于实现爬虫逻辑)和一个__init__.py空文件。

5、在Windows文件夹下也可以很清晰的看到新建的Scrapy文件,如下图所示。

6、当然,也可以通过Pycharm导入项目的方式进行查看项目文件,此时更加的清晰,如下图所示。

7、点击各个项目文件,可以查看其中的内容,其中settings.py文件的内容如下图所示,其他的文件内容在此就不再赘述了。

至此,第一个Scrapy爬虫项目的创建及Scrapy爬虫项目中的文件解析介绍就先到这里了,下一步开始进行Scrapy爬虫项目的进阶内容,敬请期待~~

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python中的numpy模块

    对于python中的numpy模块,一般用其提供的ndarray对象。  创建一个ndarray对象很简单,只要将一个list作为参数即可。  例如:

    于小勇
  • Python:logging 的巧妙设计

    logging 的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:

    丹枫无迹
  • 用户输入

    大多数程序都在解决最终用户问题,为此通常需要从用户那里获取一些信息。在程序需要一个名字时,你需要提示用户输入该名字;程序需要一个名字时,你需要提示用户输入一系列...

    于小勇
  • 基于Ubuntu + anaconda + tensorflow+jupyter的python深度学习开发环境配置

    https://repo.anaconda.com/archive/Anaconda2-5.3.0-Linux-x86_64.sh

    于小勇
  • python中的json模块

    JSON(JavaScriptObjectNotation)格式最初是为JavaScript开发的,但随后成了一种常见文件格式,被包括python在内的众多语言...

    于小勇
  • Python:What the f*ck Python(下)

    原本每个的标题都是原版中的英文,有些取名比较奇怪,不直观,我换成了可以描述主题的中文形式,有些是自己想的,不足之处请指正。另外一些 Python 中的彩蛋被我去...

    丹枫无迹
  • python解释器详解

    操作系统位于计算机硬件与应用软件之间是一个协调、管理、控制计算机硬件资源与软件资源的控制程序。操作系统的功能为:控制硬件、把对硬件复杂的操作封装成优美简单的接口...

    于小勇
  • Ubuntu下基于Anaconda3 配置任意版本tensorflow和opencv的通用方法

    在Github上利用顶会上深度模型时经常会被tensorflow和opencv的版本问题困扰,比如博主最近遇到的需求:

    于小勇
  • tensorboard快速上手教程

    tensorboard可对网络和各种参数进行可视化,可以方便的进行网络结构调整和调参,尤其是应对复杂网路,下面用一个例子介绍tensorboard在Linux中...

    于小勇
  • 正文处理命令及Tar命令

    unix2dos: converting file baby to DOS format  ...

    于小勇

扫码关注云+社区

领取腾讯云代金券