我正在使用带有itertag的scrapy XMLFeedSpider来循环超过300 Megs XML feed。
除了将该大型Feed中的每个条目保存为项目之外,每个条目还有一些要抓取的其他链接,这次是指向html页面的链接。
我知道使用CrawlerSpider抓取html页面,所以我试图找到一种方法来跟踪使用这种蜘蛛的大XML Feed中的链接。
谢谢, 盖
答案 0 :(得分:2)
首先阅读:http://readthedocs.org/docs/scrapy/en/latest/intro/tutorial.html
我在scrapy中创建了一个项目。以下是获取特定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