scrapy命令行工具

Scrapy框架提供了一个命令行工具,它能在开发阶段帮我们按照项目模板创建各种组件,此外还能用于在生产环境运行爬虫等,这篇笔记我们简单了解下scrapy命令的使用方法。

创建项目

以下命令可在当前目录创建名为tutorial的工程。

scrapy startproject tutorial .

推荐使用scrapy命令方式创建项目,工具会帮我们创建很多模板文件,我们直接修改一下就能使用了。

创建Spider

以下命令能自动创建一个Spider类文件。

scrapy genspider <name> <domain>

name是Spider的名字(即Spider的name类属性),domain会自动填充到Spider的allowed_domainsstart_urls属性。当然,其实我们手写也并不麻烦,只是使用命令创建Spider更方便一点。

执行Spider

scrapy crawl可以执行单个Spider,前面章节我们已经使用过该命令了。

scrapy crawl <spider>

我们还可能经常用到以下选项:

  • -a:用于指定爬虫的参数
  • -o:将输出数据保存到文件中

使用例子如下。

scrapy crawl <spider> -a key1=value1 -a key2=value2 -o output.json

显示所有爬虫

该命令可以显示我们项目里所有的Spider。

scrapy list

模拟爬虫执行

编写爬虫之前,我们可以用scrapy fetch先试着请求我们要爬取的URL,因为有些网站会检查RefererUser-Agent之类的HTTP报头。这条命令会根据settings.py的配置对指定URL发一个请求,对于那些存在反爬虫措施的站点,我们可以观察一下我们的配置能否“骗过”我们要爬取的网站。

scrapy fetch <url>

scrapy shell

scrapy shell中可以测试选择器的使用和页面信息的抽取逻辑,前面章节我们已经使用过了。

scrapy shell <url>
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。