如何拒绝Scrapy中使用规则刮取网站的某些部分。Scrapy规则否认
我希望Scrapy抓取链接,以搜索www.example.com/help/nl/ en拒绝与www.example.com/help/en/和www.example.com/website/匹配的所有链接。
我有以下代码:
class MySpider(CrawlSpider):
name = 'myspider'
allowed_domains = ['example.com', ]
start_urls = ['https://www.example.com/help/nl/', ]
rules = (
Rule(SgmlLinkExtractor(allow=(r'/help/nl/',)), callback='parse_response'),
)
但它爬行的整个网站。
UPDATE
我想Scrapy遵循只包含链接/帮助/ NL/
Rule(SgmlLinkExtractor(allow=(r'/help/nl/',), deny=(other than /help/nl/), callback='parse_response')
什么网址/网站你在爬行吗? – Talvalin 2013-03-18 15:46:16
https://online.milieubarometer.nl/help/nl/ – nelsonvarela 2013-03-18 15:54:40
运行爬虫程序时它会显示'downloader/response_count'的值(它会显示在日志的末尾),您可以编辑问题显示一些您想要排除的已抓取网页?我只是用你的规则和akhter的规则来运行代码,并且抓取了相同数量的页面,并且都是“./help/nl/”格式。 – Talvalin 2013-03-18 16:50:22