2017-04-23 99 views
2

在我的蜘蛛“nofollow”的(从CrawlSpider继承),我昌参数“遵循”的规则,但LinkExtractor不要change.like的输出链接如下:我怎样才能改变ATTR链接

rules = [ 
     Rule(CustomLinkExtractor(
      allow=[], 
      deny=[]), 
      follow=True, 
     ) 
    ] 

的CustomLinkExtractor是我的自定义LinkExtractor

打印链接:

[Link(url='www.example.com', text=u'', fragment='', nofollow=False)] 

现在我改变了规则:

rules = [ 
      Rule(CustomLinkExtractor(
       allow=[], 
       deny=[]), 
      ) 
     ] 

打印链接:

[Link(url='www.example.com', text=u'', fragment='', nofollow=False)] 

没有变化!所以我想知道如何更改参数“nofollow”的,我觉得参数“nofollow”的决定是按照链接

回答

1

你将Rule的follow参数与LinkExtractor的nofollow之一混淆。

有些网站使用rel=nofollow来表明网络爬虫不应该跟随这个URL,这正是linkextractor在这种情况下显示的 - 链接节点有rel=nofollow。它与Rule对象无关。

wikipedia's article on nofollow

nofollow的是,可以分配到一个HTML的版本属性的元素指示一些搜索引擎的超级链接不应该影响到链接的目标的排名在搜索的值发动机的指数。

+0

谢谢,那帮了我很多 – Zioyi

+0

@Zioyi没问题,这是一个令人困惑的命名巧合! – Granitosaurus