-1

300 Megs の XML フィードをループするために itertag を指定したスクレイピー XMLFeedSpider を使用しています。

その大きなフィードの各エントリをアイテムとして保存するだけでなく、各エントリにはさらにクロールするリンクがいくつかあります。今回は HTML ページへのリンクです。

CrawlerSpider を使用して HTML ページがクロールされることを理解しているので、そのようなスパイダーを使用して大きな XML フィードからリンクをたどる方法を見つけようとしています。

みんなありがとう

4

1 に答える 1

2

まず最初に読んでください: http://readthedocs.org/docs/scrapy/en/latest/intro/tutorial.html

プロジェクトをスクレイピーで作成しました。その特定の XML のすべての URL を取得するコードを次に示します。Spiders-directory を使用する必要があります。

#!/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
于 2012-01-10T21:42:50.937 に答える