python爬虫scrapy命令工具学习之篇三
命令行工具(Command line tools)
全局命令
项目命令
1、创建爬虫工程的命令
scrapy startproject myproject
2、控制项目创建一个spider
scrapy genspider mydomain mydomain.com
3、使用爬虫进行爬去
$ scrapy crawl myspider
4、进行contract检查
$ scrapy check -l
5、列出当前项目中所有可用的spider。每行输出一个spider
$ scrapy list
6、使用 EDITOR 中设定的编辑器编辑给定的spider
$ scrapy edit spider1
7、使用Scrapy下载器(downloader)下载给定的URL,并将获取到的内容送到标准输出。
该命令以spider下载页面的方式获取页面。例如,如果spider有 USER_AGENT 属性修改了 User Agent,该命令将会使用该属性。
因此,您可以使用该命令来查看spider如何获取某个特定页面。
该命令如果非项目中运行则会使用默认Scrapy downloader设定。
- 语法:
scrapy fetch <url>
$ scrapy fetch --nolog http://www.example.com/some/page.html
8、在浏览器中打开给定的URL
- 语法:
scrapy view <url> 在浏览器中打开给定的URL,并以Scrapy spider获取到的形式展现。 有些时候spider获取到的页面和普通用户看到的并不相同。 因此该命令可以用来检查spider所获取到的页面,并确认这是您所期望的。
$ scrapy view http://www.example.com/some/page.html
9、shell命令
在spider的开发调试过程总,shell命令可以通过交互的方式进行调试,非常方便。
以给定的URL(如果给出)或者空(没有给出URL)启动Scrapy shell。 查看 Scrapy终端(Scrapy shell) 获取更多信息。
$ scrapy shell http://www.example.com/some/page.html
10、parse命令
- 语法:
scrapy parse <url> [options] - 获取给定的URL并使用相应的spider分析处理。如果您提供
--callback选项,则使用spider的该方法处理,否则使用parse。
支持的选项:
--spider=SPIDER: 跳过自动检测spider并强制使用特定的spider--a NAME=VALUE: 设置spider的参数(可能被重复)--callbackor-c: spider中用于解析返回(response)的回调函数--pipelines: 在pipeline中处理item--rulesor-r: 使用CrawlSpider规则来发现用来解析返回(response)的回调函数--noitems: 不显示爬取到的item--nolinks: 不显示提取到的链接--nocolour: 避免使用pygments对输出着色--depthor-d: 指定跟进链接请求的层次数(默认: 1)--verboseor-v: 显示每个请求的详细信息
$ scrapy parse http://www.example.com/ -c parse_item
11、settings
- 语法:
scrapy settings [options]获取Scrapy的设定
在项目中运行时,该命令将会输出项目的设定值,否则输出Scrapy默认设定。
$ scrapy settings --get BOT_NAME
scrapybot
$ scrapy settings --get DOWNLOAD_DELAY12、runspider
- 在未创建项目的情况下,运行一个编写在Python文件中的spider。
- 语法:
scrapy runspider <spider_file.py>
$ scrapy runspider myspider.py
13、其他命令
version:
- 语法:
scrapy version [-v] - 输出Scrapy版本。配合
-v运行时,该命令同时输出Python, Twisted以及平台的信息,方便bug提交。
deploy
- 将项目部署到Scrapyd服务。查看 部署您的项目 。
- 语法:
scrapy deploy [ <target:project> | -l <target> | -L ]
bench
- 运行benchmark测试。 Benchmarking 。
- 语法:
scrapy bench
14、自定义项目命令
可以通过 COMMANDS_MODULE 来添加您自己的项目命令。您可以以 scrapy/commands 中Scrapy commands为例来了解如何实现您的命令。
COMMANDS_MODULE
Default: '' (empty string)
用于查找添加自定义Scrapy命令的模块。
python爬虫scrapy命令工具学习之篇三的更多相关文章
- python爬虫Scrapy(一)-我爬了boss数据
一.概述 学习python有一段时间了,最近了解了下Python的入门爬虫框架Scrapy,参考了文章Python爬虫框架Scrapy入门.本篇文章属于初学经验记录,比较简单,适合刚学习爬虫的小伙伴. ...
- python爬虫scrapy项目详解(关注、持续更新)
python爬虫scrapy项目(一) 爬取目标:腾讯招聘网站(起始url:https://hr.tencent.com/position.php?keywords=&tid=0&st ...
- Python实现代码统计工具——终极加速篇
Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...
- python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码(2)
操作环境:python3 在上一文中python爬虫scrapy框架--人工识别知乎登录知乎倒立文字验证码和数字英文验证码(1)我们已经介绍了用Requests库来登录知乎,本文如果看不懂可以先看之前 ...
- Python爬虫教程-25-数据提取-BeautifulSoup4(三)
Python爬虫教程-25-数据提取-BeautifulSoup4(三) 本篇介绍 BeautifulSoup 中的 css 选择器 css 选择器 使用 soup.select 返回一个列表 通过标 ...
- python爬虫scrapy学习之篇二
继上篇<python之urllib2简单解析HTML页面>之后学习使用Python比较有名的爬虫scrapy.网上搜到两篇相应的文档,一篇是较早版本的中文文档Scrapy 0.24 文档, ...
- Python爬虫Scrapy框架入门(0)
想学习爬虫,又想了解python语言,有个python高手推荐我看看scrapy. scrapy是一个python爬虫框架,据说很灵活,网上介绍该框架的信息很多,此处不再赘述.专心记录我自己遇到的问题 ...
- [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍
前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...
- python爬虫----scrapy框架简介和基础应用
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以 ...
随机推荐
- 代码片段,使用TIKA来解析PDF,WORD和EMAIL
/** * com.jiaoyiping.pdstest.TestTika.java * Copyright (c) 2009 Hewlett-Packard Development Company, ...
- 170509、文本编辑器编写的shell脚本在linux下无法执行的解决方法
今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式 ...
- spring的AOP个人理解和使用
1什么是AOP:AOP是面向切面编程,也就是说面向某个功能模块编程,典型的应用就是Spring的声明式事务, Spring的AOP事务解析: 在以前的事务管理是要融合在逻辑代码中的,在逻辑代码中决定事 ...
- ASIOTutorial
ASIOTutorialTutorial 1: Simple wgetTutorial 2: Synchronous HTTP ServerTutorial 3: Asynchrnous wgetTu ...
- Python开发【笔记】:如何在字典遍历中删除key值?
数据遍历时不能犯傻系列 前言: 针对字典做一些操作时,有时会遇到下面的状况,列如我们需要把data中的key值根据replace中的映射关系进行替换(Caller替换为caller) data = { ...
- 【Python】通过python代码实现demo_test环境的登录,通过csv/txt/excel文件批量添加课程并开启课程操作--(刚开始 项目 页面 模块 元素这种鸟 被称作pageobject 等这些搞完 然后把你的定位器、数据 和脚本在分离 就是传说中那个叫数据驱动 的鸟)
一.1.通过csv文件批量导入数据 1 from selenium import webdriver from time import ctime,sleep import csv #循环读取每一行每 ...
- 代码处理 iOS 的横竖屏旋转
一.监听屏幕旋转方向 在处理iOS横竖屏时,经常会和UIDeviceOrientation.UIInterfaceOrientation和UIInterfaceOrientationMask这三个枚举 ...
- namenode 问题小记
问题1:namenode进程故障 Namenode挂掉,Namenode gc日志里面YGC报错promotion failed 现象描述 NameNode进程挂掉,Namenode gc日志里面YG ...
- leetcode 数据库题解
184. Department Highest Salary 题意: The Employee table holds all employees. Every employee has an Id, ...
- Codeforces Round #526 (Div. 2) Solution
A. The Fair Nut and Elevator Solved. 签. #include <bits/stdc++.h> using namespace std; #define ...