Scrapy忽略google等其他网站

linkBG
  • 387

现有项目爬虫很不友好,所以想改一下,有个不知道怎么表达的情况,就是我在爬去目标站点,我不希望我的爬虫会出这个站,但是在实际的情况,当a标签有其他比如广告,更现实的是google这种的。所以我在想有灭有可以建立白名单的情况,在这个列表下,如果存在这个列表那么我就不在加入url中了。我写了下面的代码。但是实际情况不行阿

for url in response.xpath('//a/@href').extract():
    if re.match('^http',url):
        if url not in DOMAINS and not len([x for x in DBD_DOMAINS if x in url]):
            DOMAINS.append(url)
            with open(filename, 'a+') as f:
                 f.write(url+'\r\n')
            yield scrapy.Request(url, callback=self.parse)
DBD_DOMAINS = ['fackbook.com', 'google.com', 'twitter.com', 'yahoo.com','apple.com']

应该怎么修改才能实现呢?谢谢

回复
阅读 1.6k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏