Python:Scrapy(四) 命令行相关
这一部分是对官方文档的学习,主要是理解翻译,来对之前的应用部分进行详细的理论补充。
1、保存爬取到的要素的方式:
①运行scrapy指令时,添加参数-o、-O;(大小写字母o而不是数字)
②写Pipelines.py进行更详细的要素输出;
2、爬虫调试
①运行调试控制器:
scrapy shell URL --nolog
比如
scrapy shell 'https://scrapy.org' --nolog
运行该项即可向URL发送请求;控制器运行成功后,每行会以 [n] 为前缀,--nolog:不打印日志
②部分可用项
[s] Available Scrapy objects:
[s] scrapy scrapy module (contains scrapy.Request, scrapy.Selector, etc)
[s] crawler <scrapy.crawler.Crawler object at 0x7f07395dd690>
[s] item {}
[s] request <GET https://scrapy.org>
[s] response <200 https://scrapy.org/>
[s] settings <scrapy.settings.Settings object at 0x7f07395dd710>
[s] spider <DefaultSpider 'default' at 0x7f0735891690>
[s] Useful shortcuts:
[s] fetch(url[, redirect=True]) Fetch URL and update local objects (by default, redirects are followed)
[s] fetch(req) Fetch a scrapy.Request and update local objects
[s] shelp() Shell help (print this help)
[s] view(response) View response in a browser
其中response直接就是返回的源代码,可以从中用各种语法提取想要的内容,比如
response.xpath('XPath路径表达式')#根据xpath语法,提取要素
response.headers#文件头
response.xpath('//title/text()').get()
至于response的属性和方法,可以看Scrapy(一)或Scrapy(五)
③如果想在程序某处中断,并检查Response的正确性,可以用scrapy.shell.inspect_response(response , self)
比如程序中的start_urls有多个URL,可以检查它们的Response,在parse函数中进行:
import scrapy class XXXSpider(scrapy.Spider):
name='xxx'
start_urls=[url1,url2,url3]
def parse(self,response):
#当我们想检查其中的某个URL时
if '.org' in response.url:#比如检查某个包含 .org的网址response
from scrapy.shell import inspect_response
inspect_response(response,self)
用CTRL+Z退出检查,退出检查后的爬虫程序仍会继续运行
④退出整个Shell
输入exit();
或者 CTRL+Z
3、爬虫命令行,指令查看
Command line tool-Scrapy documentation
在命令行中,进入某个工程文件下,输入scrapy(注意必须在进入某个爬虫工程下再输入scrapy),就可以看到所有可用的爬虫指令

如果要查看某个指令使用时的具体用法,可以通过在命令行输入scrapy 指令 -h的方式
Python:Scrapy(四) 命令行相关的更多相关文章
- Python argparse 处理命令行小结
Python argparse 处理命令行小结 1. 关于argparse是python的一个命令行解析包,主要用于处理命令行参数 2. 基本用法test.py是测试文件,其内容如下: import ...
- 如何让python脚本支持命令行参数--getopt和click模块
一.如何让python脚本支持命令行参数 1.使用click模块 如何使用这个模块,在我前面的博客已经写过了,可参考:https://www.cnblogs.com/Zzbj/p/11309130.h ...
- 详解Scrapy的命令行工具
接触过Scrapy的人都知道,我们很多操作是需要借助命令行来执行的,比如创建项目,运行爬虫等.所以了解和掌握这些命令对于scrapy的学习是很有帮助的! Scrapy 命令 首先,在scrapy命令中 ...
- Noah的学习笔记之Python篇:命令行解析
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Django命令行相关命令 以及创建一个空白网页的步骤
django相关命令行命令: django.admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django Projec ...
- python生成linux命令行工具
您是否也曾一直想生成类似cd, cat等小巧/迷人/实用的小工具作为系统命令或者将python程序打包为exe进行分发?ok,机会来了.利用python 的argparse 和 pyinstaller ...
- python argparse:命令行参数解析详解
简介 本文介绍的是argparse模块的基本使用方法,尤其详细介绍add_argument内建方法各个参数的使用及其效果. 本文翻译自argparse的官方说明,并加上一些笔者的理解 import a ...
- Python多线程同步命令行模拟进度显示
最近在一个Python(3.5)的小项目中需要用到多线程加快处理速度,同时需要显示进度,于是查了些资料找到几个实现方法:线程池的map-reduce和Queue结合线程的实现.这里简单的实例介绍一下Q ...
- 【Python】iichats —— 命令行下的局域网聊天程序
转载请声明出处:http://www.cnblogs.com/kevince/p/3941728.html ——By Kevince ii系列工具第三弹,命令行下的局域网聊天程序 原理: 程序启动 ...
随机推荐
- MySql下载与安装(部署)
一:MySQL介绍 1.MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB ...
- python开发之函数
转:https://www.tuicool.com/wx/vEVrqeR 06 python开发之函数 博客园精华区12-12 20:56 06 python开发之函数 目录 6.2 调用函数与函数返 ...
- python项目中 ,open() 方法, 如何读取json文件的位置。
一 copy 目标文件绝对路径的URL. 固定在你电脑上的路径.简单好用.
- Linux 集群 和免秘钥登录的方法。
/* 1.1.什么是集群? 很多台服务器(计算机)做相同的事,就称之为集群 服务器和服务器之间必须要处于联通状态(linux01和linux02可以相互访问并且传输数据) 服务器的配置和常见的计算机没 ...
- [USACO18DEC]Balance Beam P
根据题意不难发现这个模型是不好进行贪心的,于是可以考虑使用 \(dp\).可以令 \(dp_i\) 表示在 \(i\) 位置以最优策略能获得的报酬期望值,那么会有转移: \[dp_i = \max(f ...
- Idea中新建package包,却变成了Directory
问题描述 今天在IdeaJava工程src下新建了一个名字叫包implements的包,右键在里面新建类时,却发现根本就没有Class这个选项,然后发现implements这个包的图标也和其他包的图标 ...
- jar包冲突时怎么办
因为项目中会依赖许多jar包,免不得就会有冲突,那怎么解决呢? 使用 mvn dependency:tree 可以看到各个包的依赖关系 [INFO] | +- commons-cli:commons- ...
- 软件版本GA、Beta、RC含义
Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用.Beta:也是测试版,这个阶段的版本会一直加入新的功能.在Alpha版之后推出.RC:(Release Candida ...
- OSChina 文
转载请注明来源:https://www.cnblogs.com/hookjc/ http://www.oschina.net/p/carbon-forum [高性能PHP论坛 Carbon For ...
- Docker容器之搭建本地私有仓库
Docker容器之搭建本地私有仓库 本地私有仓库搭建的具体步骤 首先下载 registry 镜像 docker pull registry 在 daemon.json 文件中添加私有镜像仓库的地址并重 ...