首页 > scrapy 如何设置每个域名需要爬取的页面数目

scrapy 如何设置每个域名需要爬取的页面数目

我要爬一些域名不同的网站,打算每个网站爬一定数目的页面之后就不再爬这个网站了,请问这种应该怎么实现?

下面是我已经实现的部分

class AnExampleSpider(CrawlSpider):
name="anexample"
rules=(
    Rule(LinkExtractor(allow=r"/*.html"),
    callback="parse_url",follow=True),
)   
def __init__(self, url_file ): #, N=10,*a, **kw
    data = open(url_file, 'r').readlines() #[:N]
    self.allowed_domains = [ i.strip() for i in data ] 
    self.start_urls = ['http://' + domain for domain in self.allowed_domains]
    super(AnExampleSpider, self).__init__()#*a, **kw

    self.maximumPagesPerSite=100 #每个网站最多可以爬取的页面个数
    self.crawledPagesPerSite={}
def parse_url(self, response):
    url=response.url
    domain_name=tldextract.extract(url).domain
    if domain_name in self.crawledPagesPerSite:
     self.crawledPagesPerSite[domain_name]+=1
    else:
        self.crawledPagesPerSite[domain_name]=1
    print self.crawledPagesPerSite[domain_name]
    #如果大于maximumPagesPerSite就停止爬这个网站,但是应该怎么实现呢
【热门文章】
【热门文章】