本文共 1421 字,大约阅读时间需要 4 分钟。
XMLFeedSpider 主要用于 RSS 的爬取。RSS 是基于 XML 的信息局和技术。这篇文章的最后一下小结我会利用爬取经济观察网 RSS 的例子来讲解它的具体用法。现在我们先看一下 XMLFeedSpider 的常用属性。
下面我们通过爬取经济观察网的 RSS 来看看 XMLFeedSpider 在实战中怎么用。首先我们来看一下经济观察网的 RSS 结构:
从图中可以看出对我们有用的信息都位于 item 标签之间,那么这个标签之间的内容就是我们需要抓取的东西,这个标签被称为节点。
# -*- coding: utf-8 -*-from scrapy.spiders import XMLFeedSpiderfrom ..items import RsshubItremclass RsshubSpider(XMLFeedSpider): name = 'rsshub' allowed_domains = ['rsshub.app'] start_urls = ['https://rsshub.app/eeo/01'] iterator = 'iternodes' itertag = 'item' def parse_node(self, response, selector): item = RsshubItrem() item['title'] = selector.css("title::text").extract_first() item['public_date'] = selector.css("publicDate::text").extract_first() item['link'] = selector.css("link::text").extract_first() return item import scrapyclass RsshubItrem(scrapy.Item): title = scrapy.Field() public_date = scrapy.Field() link = scrapy.Field()
转载地址:http://swqxf.baihongyu.com/