2016-02-19 4 views
0

У меня лоскутной паук:Crawl весь сайт, за исключением ссылок по определенному пути

from scrapy.contrib.spiders import CrawlSpider, Rule 
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor 

class ExampleSpider(CrawlSpider): 
    name = "spidermaster" 
    allowed_domains = ["www.test.com"] 
    start_urls = ["http://www.test.com/"] 
    rules = [Rule(SgmlLinkExtractor(allow=()), 
        follow=True), 
      Rule(SgmlLinkExtractor(allow=()), callback='parse_item'), 
    ] 
    def parse_item(self,response): 
     self.log('A response from %s just arrived!' % response.url) 

Что им пытаются просканировать всю страницу, за исключением того, что находится под определенным путем.

Например, я хочу сканировать весь тестовый веб-сайт, за исключением www.test.com/too_much_links.

Заранее спасибо

+0

Что вы пробовали до сих пор? Приведите несколько примеров того, что вы пробовали, или если есть что-то, что вы недопонимаете в процессе создания паука, делаете то, что хотите, подробно изложите, где вы думаете, источник ложного понимания. –

ответ

0

я обычно делаю это следующим образом:

ignore = ['too_much_links', 'many_links'] 

rules = [Rule(SgmlLinkExtractor(allow=(), deny=ignore), follow=True), 
     Rule(SgmlLinkExtractor(allow=(), deny=ignore), callback='parse_item'), 
]