【发布时间】:2015-07-05 03:53:01
【问题描述】:
我编写了一个基本的 Scrapy 蜘蛛来抓取一个似乎运行良好的网站,除了它不想停止的事实,即它不断重新访问相同的 url 并返回相同的内容 - 我总是最终有阻止它。我怀疑它会一遍又一遍地遍历相同的网址。有什么规则可以阻止这种情况吗?或者我还有什么需要做的吗?也许是中间件?
蜘蛛如下:
class LsbuSpider(CrawlSpider):
name = "lsbu6"
allowed_domains = ["lsbu.ac.uk"]
start_urls = [
"http://www.lsbu.ac.uk"
]
rules = [
Rule(SgmlLinkExtractor(allow=['lsbu.ac.uk/business-and-partners/.+']), callback='parse_item', follow=True),
]
def parse_item(self, response):
join = Join()
sel = Selector(response)
bits = sel.xpath('//*')
scraped_bits = []
for bit in bits:
scraped_bit = LsbuItem()
scraped_bit['title'] = scraped_bit.xpath('//title/text()').extract()
scraped_bit['desc'] = join(bit.xpath('//*[@id="main_content_main_column"]//text()').extract()).strip()
scraped_bits.append(scraped_bit)
return scraped_bits
我的settings.py 文件如下所示
BOT_NAME = 'lsbu6'
DUPEFILTER_CLASS = 'scrapy.dupefilter.RFPDupeFilter'
DUPEFILTER_DEBUG = True
SPIDER_MODULES = ['lsbu.spiders']
NEWSPIDER_MODULE = 'lsbu.spiders'
任何关于停止它连续运行的帮助/指导/说明将不胜感激......
因为我是新手;任何整理代码的 cmets 也会有所帮助(或链接到良好的指令)。
谢谢...
【问题讨论】:
标签: python web-scraping web-crawler scrapy duplication