scrapy 命令和例子
------------------scrapy 命令和例子--------------------
==========常用命令======
scrapy startproject abc www.abc.com ----create project
scrapy shell lab.scrapyd.cn ---debug 查看页面html内容
scrapy shell http://www.scrapyd.cn
response.xpath("表达式")
[讲解 http://www.scrapyd.cn/doc/186.html]
response.xpath("//p[@class='desc']//text()").extract()
response.xpath("//h4[@class='media-heading']//text()").extract()
response.css('div.quote')[0]
response.xpath("//span[@class='text']//text()").extract_first()
response.css('.text::text').extract_first()
scrapy crawl abc
=========全局命令===============
startproject
genspider
settings
runspider
scrapy runspider scrapy_cn.py
shell
scrapy shell http://www.scrapyd.cn
fetch
scrapy fetch http://www.scrapyd.cn >d:/projects/ABC/3.html
view 直接把收集的内容在浏览器中打开
scrapy view http://www.scrapyd.cn
version
scrapy version
================项目命令====================
crawl
crawl:运行蜘蛛
scrapy crawl scrapyd_cn
check
check:检查蜘蛛
list
list:显示有多少个蜘蛛
scrapy list
edit
parse
bench
========导出页面
scrapy fetch http://lab.scrapyd.cn >d:/projects/ABC/lab.html
scrapy shell http://lab.scrapyd.cn
=================几种运行方式===============
【1】scrapy crunspider single.py
【2】scrapy crawl single -a tag=人生
如果用上面这个方式,运行一个单个文件的py,则会报错 :
Scrapy 1.5.1 - no active project
Unknown command: crawl
Use "scrapy" to see available commands
用下面的则不会:
【3】scrapy crunspider single -a tag=人生
=================urllib 转码讲解===============
https://www.cnblogs.com/caicaihong/p/5687522.html
==========================example==========fileName='single'=================
import scrapy
#import sys
import urllib.parse
class itemSpider(scrapy.Spider):
name = 'listSpider'
start_urls = ['http://lab.scrapyd.cn']
def start_requests(self):
#url = self.start_urls[0]
url = 'http://lab.scrapyd.cn/'
tag = getattr(self, 'tag', None) # 获取tag值,也就是爬取时传过来的参数
if tag is not None: # 判断是否存在tag,若存在,重新构造url
# encode method [1]
#tag = urllib.parse.quote(tag.encode('utf8'))
#print("=====s%======",tag) #=====s%====== %E4%BA%BA%E7%94%9F
# encode method [2]
tag = urllib.parse.quote(tag,safe='')
print("=====s%======",tag)
#urllib.parse.unquote(s)
unquotetag = urllib.parse.unquote(tag)
print("!!!!!!s%!!!!!",unquotetag)
#urllib.parse.urlencode(values)
url = url + 'tag/' + tag # 构造url若tag=爱情,url= "http://lab.scrapyd.cn/tag/爱情"
yield scrapy.Request(url, self.parse) # 发送请求爬取参数内容
def parse(self, response):
mingyan = response.css('div.quote') # 提取首页所有名言,保存至变量mingyan
for v in mingyan: # 循环获取每一条名言里面的:名言内容、作者、标签
text = v.css('.text::text').extract_first() # 提取名言
autor = v.css('.author::text').extract_first() # 提取作者
tags = v.css('.tags .tag::text').extract() # 提取标签
tags = ','.join(tags) # 数组转换为字符串
"""
接下来进行写文件操作,每个名人的名言储存在一个txt文档里面
"""
fileName = '%s-语录.txt' % autor # 定义文件名,如:木心-语录.txt
with open(fileName, "a+") as f: # 不同人的名言保存在不同的txt文档,“a+”以追加的形式
f.write(text)
f.write('\n') # ‘\n’ 表示换行
f.write('标签:' + tags)
f.write('\n-------\n')
f.close()
next_page = response.css('li.next a::attr(href)').extract_first()
if next_page is not None:
next_page = response.urljoin(next_page)
yield scrapy.Request(next_page, callback=self.parse)
==========================example==========fileName='single'=================
scrapy 命令和例子相关推荐
- Python -- Scrapy 命令行工具(command line tools)
结合scrapy 官方文档,进行学习,并整理了部分自己学习实践的内容 Scrapy是通过 scrapy 命令行工具进行控制的. 这里我们称之为 "Scrapy tool" 以用来和 ...
- linux grep命令 例子,14个grep命令使用例子
所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的搜索的 ...
- scrapy命令明细:全局命令
接下来我们来一一介绍scrapy命令有哪些,其实灰常少,也就十四五个,在这十四五个中,常用的就纳么两三个而已,如: scrapy startproject(创建项目). scrapy crawl XX ...
- Linux 复制文件命令 cp 例子
Linux 复制文件命令 cp 例子 复制单个文件 cp a.txt b.txt 复制多个文件 将3个文本复制到d文件夹 cp a.txt b.txt c.txt d/ 复制文件夹 cp -R a/ ...
- Python scrapy 命令行传参 以及发送post请求payload参数
class SciencedirectspiderSpider(scrapy.Spider):name = 'sciencedirectspider'allowed_domains = ['scien ...
- scrapy 命令行基本用法
1.创建一个新项目: scrapy startproject myproject 2.在新项目中创建一个新的spider文件: scrapy genspider mydomain mydomain.c ...
- scrapy命令行入门学习
Command line tool: 其中全局命令可以不用进入项目使用项目命令必须进入项目使用 Windows 下创建一个scrapy项目: 打开cmd scrapy createproject 项目 ...
- HBase总结(十三)HBase Shell 常用命令及例子
下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N ...
- linux压缩命令 实例子,Linux下的tar压缩解压缩命令详解及使用实例分析
格式:tar zcvf 压缩后的路径及包名 你要压缩的文件 z:gzip压缩 c:创建压缩包 v:显示打包压缩解压过程 f:接着压缩 t:查看压缩包内容 x:解压 X:指定文件列表形式排除不需要打包压 ...
最新文章
- 讀書收穫 The Untold Story of Milk, Ron Schmid
- Win2003配置邮件服务器
- 内核同步机制——完成量
- 第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页...
- [Jarvis OJ - PWN]——Smashes
- 使用c++为node.js扩展模块
- 从jsp页面到servlet传值的不同方式
- python math库基本函数
- csf格式手机播放器(安卓csf格式播放器)
- html5获取手机屏幕大小写,html图片自适应手机屏幕大小的css写法
- 8 月 Github 上有哪些值得参与的开源项目?
- 有权图的单源最短路算法
- wifi扫描流程图_一种wifi扫描阶段进行身份识别的认证方法
- SAR图像:拟合杂波时常用的分布
- HTML 动态夜空特效
- 【转】浅谈C# 多态的法力
- 纪录片拍摄前期准备内容
- 2021年电工(初级)报名考试及电工(初级)考试内容
- 分享一个react 图片上传组件 支持OSS 七牛云
- LaTex常用技巧6:矩阵编写总结