2014-11-24 5 views
0

난 그냥 간단하게, 링크 추출기와 같은 a.com에 대한 규칙 1을 적용 할 수 있도록, 부인하고 b.com 일부 diffrent 규칙에 대해 내가 규칙을 적용 할 해달라고 c.com을 위해 할python scrapy에서 다른 start_urls에 다른 규칙을 적용하는 방법은 무엇입니까?

start_urls = `[a.com,b.com,c.com,....]` 

이 지정된 URL을 크롤링합니다.

어떻게하면됩니까? 사전에

감사합니다 .. 당신은 start_requests 방법을 무시하고 링크 추출기와 사용자 정의 방법을 사용할

답변

2

는 :

def start_requests(self): 
    yield Request('http://a.com', self.parse_a) 
    yield Request('http://b.com', self.parse_b) 
    yield Request('http://c.com', self.parse_data) 

def parse_a(self, response): 
    links = LinkExtractor(
     # ... extract links from http://a.com 
    ).extract_links(response) 
    return (Request(url=link.url, callback=self.parse_data) for link in links) 

def parse_b(self, response): 
    links = LinkExtractor(
     # ... extract links from http://b.com 
    ).extract_links(response) 
    return (Request(url=link.url, callback=self.parse_data) for link in links) 
+0

감사합니다 그것은 나에게 당신은 환영합니다 @ram 많은 .. – ram

+0

도움 :) – elias

관련 문제