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.2k
1 个回答
撰写回答

登录后参与交流、获取后续更新提醒

宣传栏