#Python爬虫#--Scrapy命令行工具应用

user

雨橙

中国.四川.成都

世界之上、唯有远见、惟爱不变。


scrapy命令行
 
全局命令(全局运行):
startproject
settings
runspider
shell
fetch
view
version
 
项目(Project-only)命令(必须在项目中运行):
crawl
check
list
edit
parse
genspider
deploy
bench
 
创建一个项目:
scrapy startproject spiderdemo
 
新建一个Spider模块
scrapy genspider cnblogs https://www.cnblogs.com/
 
查看scrapy提供的spider模板列表
scrapy genspider -l

Available templates:
  basic
  crawl
  csvfeed
  xmlfeed
 
查看scrapy的basic模板源代码
scrapy genspider -d basic

# -*- coding: utf-8 -*-
import scrapy
class $classname(scrapy.Spider):
    name = '$name'
    allowed_domains = ['$domain']
    start_urls = ['http://$domain/']

    def parse(self, response):
        pass
 
根据basic模板生成spider
scrapy genspider -t basic neihan http://neihanshequ.com/
 
运行爬虫进行爬去内容(需要在项目中运行)
scrapy crawl spidername
 
将爬取输出到Json数据
scrapy crawl spidername -o blogs.json
 
运行contract检查爬虫
scrapy check
 
列出项目中所有可用爬虫
scrapy list
 
使用Scrapy下载器(downloader)下载给定的URL,并将获取到的内容送到标准输出
输出请求URL的headers头信息。屏蔽日志输出
scrapy fetch --nolog --headers http://neihanshequ.com/
 
使用Scrapy爬去目标URL到本地通过浏览器打开查看。确认和自己目标一致
scrapy view http://neihanshequ.com/
启动Scrapy shell(已安装好ipython)
scrapy shell "http://neihanshequ.com/"
 
获取给定的URL并使用相应的spider分析处理
scrapy parse
支持的选项:
--spider=SPIDER: 跳过自动检测spider并强制使用特定的spider
--a NAME=VALUE: 设置spider的参数(可能被重复)
--callback or -c: spider中用于解析返回(response)的回调函数
--pipelines: 在pipeline中处理item
--rules or -r: 使用 CrawlSpider 规则来发现用来解析返回(response)的回调函数
--noitems: 不显示爬取到的item
--nolinks: 不显示提取到的链接
--nocolour: 避免使用pygments对输出着色
--depth or -d: 指定跟进链接请求的层次数(默认: 1)
--verbose or -v: 显示每个请求的详细信息
 
scrapy parse https://news.cnblogs.com/
scrapy parse https://news.cnblogs.com/ -c blogs
 
获取Scrapy settings
scrapy settings
scrapy settings --get BOT_NAME
scrapy settings --get DOWNLOAD_DELAY
 
在未创建项目的情况下,运行一个编写在Python文件中的spider。
scrapy runspider blogs.py

posted at