我要爬一些域名不同的网站,打算每个网站爬一定数目的页面之后就不再爬这个网站了,请问这种应该怎么实现?
下面是我已经实现的部分
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就停止爬这个网站,但是应该怎么实现呢