Windows 10家庭中文版,Python 3.6.4,Scrapy 1.5.0,

上午看了Scrapy的Spiders官文,并按照其中的SitemapSpider的示例练习,发现官文的示例存在问题——SitemapSpider下的Spider类没有name属性。

这导致孤编写的测试程序也没有name属性,结果,执行失败:No spider found in file

第一次执行使用的是runspider命令,失败;

第二次使用的是crawl命令——提前将爬虫文件放到某个Scrapy项目的spiders目录下,失败;

后来想起官文开始对于name属性的介绍:必须有的!

This is the most important spider attribute and it’s required.

那么,在爬虫程序中添加name属性,然后再用runspider命令执行,成功,得到了想要的信息。

关于Sitemaps的信息请参考:

What are Sitemaps? 和  Sitemap protocol

注意,并非每一个网站都有Sitemaps文件,当网站不存在Sitemaps文件时,无法用SitemapSpider抓取信息——主要抓取的是网站的链接(大型网站会有很多)。当然,按照官文的介绍,使用网站的robots.txt文件也可以(还需测试)。

孤的爬虫在测试网站发现了579个网页是使用Ctrl+C终止了爬虫的运行,否则,还会有更多:

SitemapSpider有什么用呢?

抓取了网站所有【允许爬虫抓取的(Sitemap协议、robots协议)】链接,然后,再抓取各个链接中的内容。

关于robots协议:Robots exclusion standard 和 robots协议

下面是一些网站的sitemap.xml或robots.txt截图:

发现很多网站时有robots.txt的,而没有sitemap.xml(或者我路径不对?),是因为robots协议是更先进的版本吗?

-微博几乎禁止了所有的 爬虫程序 去爬取其数据:

后记

SitemapSpider爬取了网站的链接后,是否可以交给其它爬虫程序处理?

在使用scrapy genspider创建爬虫程序时,没有名为sitemap*的模板:

Scrapy的【SitemapSpider】的【官网示例】没有name属性的更多相关文章

  1. FineUI(开源版)v4.2.2发布(8年125个版本,官网示例突破300个)!

    开源版是 FineUI 的基石,从 2008 年至今已经持续发布了 120 多个版本,拥有会员 15,000 多位,捐赠会员达到 1,200 多位.   FineUI(开源版)v4.2.2 是 8 年 ...

  2. [踩过的坑]Elasticsearch.Net 官网示例的坑

    经过昨天的ElasticSearch 安装,服务以及可以启动了,接下来就可以开发了,找到了官网提供的API以及示例,Es 官方提供的.net 客户端有两个版本一个低级版本: [Elasticsearc ...

  3. docker swarm(当前官网示例)

    介绍 Docker Swarm 是 Docker 公司推出的官方容器集群平台,基于 Go 语言实现 作为容器集群管理器,Swarm 最大的优势之一就是 100% 支持标准的 Docker API.各种 ...

  4. Leaflet_创建地图(官网示例,可以直接运行)(2017-10-20)

    官网:http://leafletjs.com/examples.html 快速启动指南 http://leafletjs.com/examples/quick-start/example.html ...

  5. MySQL官网示例数据库emploees分析使用

    1.下载与安装 下载地址:https://github.com/datacharmer/test_db 安装博客:https://blog.csdn.net/appleyuchi/article/de ...

  6. Knockout.Js官网学习(监控属性Observables)

    前言 1.创建一个ViewModel <script type="text/javascript"> //1.创建一个ViewModel var myViewModel ...

  7. Scrapy官网程序执行示例

    Windows 10家庭中文版本,Python 3.6.4,Scrapy 1.5.0, Scrapy已经安装很久了,前面也看了不少Scrapy的资料,自己尝试使其抓取微博的数据时,居然连登录页面(首页 ...

  8. Vue官网todoMVC示例

    这个示例是模仿官网示例样式和功能用我自己的方式写的,基本上没有看官网的源码,只参考自定义指令.让我们一步步来探讨一下.官网demo 要实现的功能 单条添加todo 单条删除todo 双击编辑todo ...

  9. Knockout.Js官网学习(系列)

    1.Knockout.Js官网学习(简介) 2.Knockout.Js官网学习(监控属性Observables) Knockout.Js官网学习(数组observable) 3.Knockout.Js ...

随机推荐

  1. Active Directory PowerShell模块收集AD信息

    0x00 前言简介 Microsoft为Windows Server 2008 R2(以及更高版本)提供了多个Active Directory PowerShell cmdlet,这大大简化了以前需要 ...

  2. Mac上安装mariadb

    1.查看mariadb包信息 # brew info mariadb mariadb: stable 10.2.6 (bottled) Drop-in replacement for MySQL ht ...

  3. CentOS7单节点部署redis主从复制和sentinel

    准备一台机器,系统版本为CentOS7. 部署redis 1.下载软件包 # wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2.解 ...

  4. [SDOI2009] HH去散步 (矩阵乘法)

    link $solution:$ 将边化为点后重新建矩阵,跑$T-1$幂即可(因为跑的是新边). 最后直接找与$x,y$所相连的边即可. #include<iostream> #inclu ...

  5. JAVA中properties基本用法

    转载 源地址不详 java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式, ...

  6. java基础-Arrays类常用方法介绍

    java基础-Arrays类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Array类的概念 此类包含用来操作数组(比如排序和搜索)的各种方法.需要注意,如果指定 ...

  7. Excel 中 VLOOKUP() 函数小结

    应用场景: 数据仓库上游源系统的数据库表变更,现在需要拆分一部分数据出来,单独放到一张新表中.假设原表为A,新表为B,B表和A表结构大部分一样,只有字段的前缀不同,那么我们如何找出到底有哪些字段不同呢 ...

  8. 《A First Course in Abstract Algebra with Applications》-chaper1-数论-棣莫弗定理

    定理1.24 (棣莫弗定理) 对每个实数x和每个正整数n有 基于棣莫弗定理的推论如下:

  9. 贪心问题:区间覆盖 POJ 2376 Cleaning Shift

    题目:http://poj.org/problem?id=2376 题意:就是 N 个区间, 输入 N 个区间的 [begin, end],求能用它们覆盖区间[1,T]的最小组合. 题解: 1. 首先 ...

  10. android 水波纹效果实现

    1.在drawable文件下,新建seletor,作为button的背景,这里我用的是两个圆角的shape <?xml version="1.0" encoding=&quo ...