------------------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 命令和例子相关推荐

  1. Python -- Scrapy 命令行工具(command line tools)

    结合scrapy 官方文档,进行学习,并整理了部分自己学习实践的内容 Scrapy是通过 scrapy 命令行工具进行控制的. 这里我们称之为 "Scrapy tool" 以用来和 ...

  2. linux grep命令 例子,14个grep命令使用例子

    所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的搜索的 ...

  3. scrapy命令明细:全局命令

    接下来我们来一一介绍scrapy命令有哪些,其实灰常少,也就十四五个,在这十四五个中,常用的就纳么两三个而已,如: scrapy startproject(创建项目). scrapy crawl XX ...

  4. Linux 复制文件命令 cp 例子

    Linux 复制文件命令 cp 例子 复制单个文件 cp a.txt b.txt 复制多个文件 将3个文本复制到d文件夹 cp a.txt b.txt c.txt d/ 复制文件夹 cp -R a/ ...

  5. Python scrapy 命令行传参 以及发送post请求payload参数

    class SciencedirectspiderSpider(scrapy.Spider):name = 'sciencedirectspider'allowed_domains = ['scien ...

  6. scrapy 命令行基本用法

    1.创建一个新项目: scrapy startproject myproject 2.在新项目中创建一个新的spider文件: scrapy genspider mydomain mydomain.c ...

  7. scrapy命令行入门学习

    Command line tool: 其中全局命令可以不用进入项目使用项目命令必须进入项目使用 Windows 下创建一个scrapy项目: 打开cmd scrapy createproject 项目 ...

  8. HBase总结(十三)HBase Shell 常用命令及例子

    下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N ...

  9. linux压缩命令 实例子,Linux下的tar压缩解压缩命令详解及使用实例分析

    格式:tar zcvf 压缩后的路径及包名 你要压缩的文件 z:gzip压缩 c:创建压缩包 v:显示打包压缩解压过程 f:接着压缩 t:查看压缩包内容 x:解压 X:指定文件列表形式排除不需要打包压 ...

最新文章

  1. 讀書收穫 The Untold Story of Milk, Ron Schmid
  2. Win2003配置邮件服务器
  3. 内核同步机制——完成量
  4. 第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页...
  5. [Jarvis OJ - PWN]——Smashes
  6. 使用c++为node.js扩展模块
  7. 从jsp页面到servlet传值的不同方式
  8. python math库基本函数
  9. csf格式手机播放器(安卓csf格式播放器)
  10. html5获取手机屏幕大小写,html图片自适应手机屏幕大小的css写法
  11. 8 月 Github 上有哪些值得参与的开源项目?
  12. 有权图的单源最短路算法
  13. wifi扫描流程图_一种wifi扫描阶段进行身份识别的认证方法
  14. SAR图像:拟合杂波时常用的分布
  15. HTML 动态夜空特效
  16. 【转】浅谈C# 多态的法力
  17. 纪录片拍摄前期准备内容
  18. 2021年电工(初级)报名考试及电工(初级)考试内容
  19. 分享一个react 图片上传组件 支持OSS 七牛云
  20. LaTex常用技巧6:矩阵编写总结

热门文章

  1. 绕过Nvidia官方要求的注册或登陆步骤直接下载cuDNN的方法
  2. 写代码时如何减少 Bug 的产生?
  3. 安装pureftpd(转)超详细版
  4. opengl-glortho理解
  5. Vue引入字体(以阿里妈妈东方大楷字体为例)
  6. 无向图邻接表的深度优先遍历
  7. Minecraft模组开发——环境搭建
  8. Java插件IFC Tools Project(一)
  9. Ubuntu美化教程
  10. Windows10 WLAN 无法搜索到可用网络/手机热点