前面写了学习CrawlSpider遇到的问题后,今天学XMLFeedSpider又出现了启动后没爬取到数据,但又不报错的情况

经过排查,发现又是一个粗心大意的错误:

class SpiderUserXMLFeedSpider(XMLFeedSpider):

   name = 'xmlspider'
allowed_domains=['cnblogs.com']#这里敲少了一个s
start_urls=['http://feed.cnblogs.com/blog/u/269038/rss']
iterator = 'html'
itertag = 'entry' 另外记录一下,这种结构:
<entry>
<id>http://www.cnblogs.com/qiyeboy/p/9296038.html</id>
<title type="text">基于HTTPS的中间人攻击-BaseProxy - 七夜的故事</title>
<summary type="text">
前言 在上一篇文章 "BaseProxy:异步http/https代理" 中,我介绍了自己的开源项目BaseProxy,这个项目的初衷其实是为了渗透测试,抓包改包。在 知识星球 中,有很多朋友问我这个项目的原理及实现代码,本篇文章就讲解一下和这个项目相关的HTTPS的中间人攻击。 HTTPS隧道代理
</summary>
<published>2018-07-11T10:16:00Z</published>
<updated>2018-07-11T10:16:00Z</updated>
<author>
<name>七夜的故事</name>
<uri>http://www.cnblogs.com/qiyeboy/</uri>
</author>
<link rel="alternate" href="http://www.cnblogs.com/qiyeboy/p/9296038.html"/>
<link rel="alternate" type="text/html" href="http://www.cnblogs.com/qiyeboy/p/9296038.html"/>
<content type="html">
【摘要】前言 在上一篇文章 "BaseProxy:异步http/https代理" 中,我介绍了自己的开源项目BaseProxy,这个项目的初衷其实是为了渗透测试,抓包改包。在 知识星球 中,有很多朋友问我这个项目的原理及实现代码,本篇文章就讲解一下和这个项目相关的HTTPS的中间人攻击。 HTTPS隧道代理 <a href="http://www.cnblogs.com/qiyeboy/p/9296038.html" target="_blank">阅读全文</a>
</content>
</entry>
 
在匹配数据时,因为设置了起始标签是itertag = 'entry'所以xpath匹配只需这样写:
node.xpath('id/text()').extract()[0]
node.xpath('title/text()').extract()[0]
node.xpath('summary/text()').extract()[0]

不需要在id,title ,summary前面加/

还有在我查这个爬不到数据的问题时,还找到一篇不错的文章:https://blog.csdn.net/lw_power/article/details/77919533
这里讲了使用模板来生成spider的代码,用模板的话就不用所有代码都敲一遍,就设置一下items.py,然后去Spider.py里修改一下allowed_domains ,start_urls的链接,
并补充关键代码(其实自动生成的代码注释有提示你应该怎么写代码)

【Spider】学习使用XMLFeedSpider的更多相关文章

  1. 七月在线爬虫班学习笔记(五)——scrapy spider的几种爬取方式

    第五课主要内容有: Scrapy框架结构,组件及工作方式 单页爬取-julyedu.com 拼URL爬取-博客园 循环下页方式爬取-toscrape.com Scrapy项目相关命令-QQ新闻 1.S ...

  2. python学习之-用scrapy框架来创建爬虫(spider)

    scrapy简单说明 scrapy 为一个框架 框架和第三方库的区别: 库可以直接拿来就用, 框架是用来运行,自动帮助开发人员做很多的事,我们只需要填写逻辑就好 命令: 创建一个 项目 : cd 到需 ...

  3. [Todo] Nodejs学习及Spider实验(包括php入门学习、React入门学习)

    /Users/baidu/Documents/Data/Interview/Web-Server开发 深入浅出Node.js-f46c http://blog.csdn.net/u012273376/ ...

  4. Scrapy框架学习(三)Spider、Downloader Middleware、Spider Middleware、Item Pipeline的用法

    Spider有以下属性: Spider属性 name 爬虫名称,定义Spider名字的字符串,必须是唯一的.常见的命名方法是以爬取网站的域名来命名,比如爬取baidu.com,那就将Spider的名字 ...

  5. Nodejs全站开发学习系列 & 深入浅出Node学习笔记 & Spider抓取

    https://course.tianmaying.com/node 这个系列的文章看起来很不错,值得学习一下. /Users/baidu/Documents/Data/Interview/Web-S ...

  6. Scrapy学习-25-Scrapyd部署spider

    Scrapyd部署爬虫项目 github项目  https://github.com/scrapy/scrapyd    官方文档  http://scrapyd.readthedocs.org/  ...

  7. 学习Spider 了解 Scrapy的流程

    Scrapy 先创建项目 在windows下 scrapy startproject      myproject         #myproject是你的项目名称 cd 项目名称 scrapy g ...

  8. scrapy 4 学习 crawl spider

    前情提要: 一:图片懒加载(面对图片懒加载怎么办) ---用selenium设置图片加载的位置 --- 分析懒加载的属性,直接获取 二: 如何提高scrapy的爬取效率 增加并发:默认scrapy开启 ...

  9. Scrapy学习篇(五)之Spiders

    Spiders Spider类定义了如何爬取某个网站.包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item).简而言之,Spider就是你定义爬取的动作及分析某个网 ...

随机推荐

  1. 14.json文件读取

    json文件读取 1.#读取json import json str='''[ { "name":"Tom", "gender":" ...

  2. 《算法》第五章部分程序 part 5

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,Knuth-Morris-Pratt 无回溯匹配,Boyer - Moore 无回溯匹配,Rabin - Karp 指纹匹配 ● Knuth-Morr ...

  3. Python3里查看某一元素的源码(检查元素定位是否准确)

    #coding:utf-8 #显示网页元素的HTML源码from selenium import webdriver driver = webdriver.Ie()driver.implicitly_ ...

  4. day26-保护属性

    如果有一个对象,当需要对其进行修改属性时,有2种方法 1.对象名.属性名 = 数据 --->直接修改 2.对象名.方法名() --->间接修改 为了更好的保护属性安全,即不能随意修改,一般 ...

  5. java ftp主动模式与被动模式

    首先介绍一下主动模式与被动模式: 1.PORT(主动模式) ftpClient.enterLocalActiveMode(); PORT中文为主动模式,工作的原理:FTP客户端连接到FTP服务器的21 ...

  6. li之间的间隙问题

    1.间隙是有代码格式中的换行符产生,对代码进行压缩处理或手动删除换行就好:

  7. kbengine:简单介绍

    之前想分析一个开源服务器很久了,思前想后,还是选择了kbengine. KBEngine的服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新).现在服务器大多数是用C++做的,pyt ...

  8. TypeScript语言学习笔记(1)

    基本类型 // 布尔型(Boolean) let isDone: boolean = false; // 数值型(Number) let decimal: number = 6; let hex: n ...

  9. linux下mysql开启远程访问权限 防火墙开放3306端口

    linux下mysql开启远程访问权限 防火墙开放3306端口 转载  2017-01-21   作者:JAVA-ANDROID 这篇文章主要为大家详细介绍了linux下mysql开启远程访问权限,防 ...

  10. C++之 模板Template的使用

    转自https://www.cnblogs.com/cynchanpin/p/7127897.html 1.在c++Template中非常多地方都用到了typename与class这两个关键字,并且好 ...