2011-05-15 4 views
-1

나는 300 Megs XML 피드를 반복하기 위해 itertag가있는 XMLFeedSpider를 사용하고 있습니다.큰 XML 피드 링크를 따르는 치료

큰 피드의 각 항목을 항목으로 저장하는 것 외에도 각 항목에는 크롤링 할 추가 링크가 있으며, 이번에는 html 페이지에 대한 링크입니다.

HTML 페이지가 CrawlerSpider를 사용하여 크롤링되므로 해당 스파이더를 사용하여 큰 XML 피드의 링크를 따라갈 수있는 방법을 찾으려한다는 것을 알고 있습니다.

감사합니다, 모든 읽기의 가이

답변

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 
+0

스파이더를 사용하려면 "scrapy crawl projectname"을 실행하십시오. – fgeek