Scrapy 0.22.2 处理XML接口数据

本文详细介绍了如何使用Scrapy框架的XML Feed Spider处理XML数据,包括配置爬虫、解析XML节点以及提取所需信息的过程。

Scrapy的Spider支持处理HTML/XML/JSON/CSV等数据服务接口,以XML为例:

from scrapy import log
from scrapy.contrib.spiders import XMLFeedSpider
from myproject.items import TestItem

class MySpider(XMLFeedSpider):
    name = 'example.com'
    allowed_domains = ['example.com']
    start_urls = ['http://www.techbrood.com/feed.xml']
    iterator = 'iternodes'  # This is actually unnecessary, since it's the default value
    itertag = 'item'

    def parse_node(self, response, node):
        log.msg('Hi, this is a <%s> node!: %s' % (self.itertag, ''.join(node.extract())))

        item = TestItem()
        item['id'] = node.xpath('@id').extract()
        item['name'] = node.xpath('name/text()').extract()
        item['description'] = node.xpath('description/text()').extract()
        return item

注意name/text()将从xml节点中去除xml标记而提取出实际内容。


参考文档:

http://doc.scrapy.org/en/latest/topics/spiders.html?highlight=xml%20parse#scrapy.contrib.spiders.XMLFeedSpider.parse_node


by iefreer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值