scrapy 处理大 XML 源链接

-2 投票
1 回答
1030 浏览
提问于 2025-04-16 17:40

我正在使用 scrapy 的 XMLFeedSpider 来处理一个有 300 兆字节的大 XML 数据源。

除了把这个大数据源中的每一条记录保存为一个项目,每条记录还有一些额外的链接需要抓取,这次是指向 HTML 页面。

我知道抓取 HTML 页面是用 CrawlerSpider,所以我在想怎么能用这种爬虫来跟踪这个大 XML 数据源中的链接。

谢谢,

Guy

1 个回答

2

首先,请阅读这个链接:http://readthedocs.org/docs/scrapy/en/latest/intro/tutorial.html

我在scrapy中创建了一个项目。下面是用来获取特定XML中所有网址的代码。你应该使用spiders目录。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
from scrapy.item import BaseItem
from scrapy.spider import BaseSpider
from scrapy.selector import XmlXPathSelector
from scrapy.utils.spider import create_spider_for_request
from scrapy.utils.misc import load_object
from scrapy.utils.response import open_in_browser

class TestSpider(BaseSpider):
    name = "test"
    start_urls = ["http://fgeek.kapsi.fi/test.xml"]

    def parse(self, response):
        xpath = XmlXPathSelector(response)
        count = 0
        for url in xpath.select('entries/entry/url').extract():
            print url

撰写回答