如何更改链接

时间:2017-04-23 07:40:33

标签: python-2.7 scrapy

在我的蜘蛛(继承自CrawlSpider)中,我改变了规则的参数“follow”,但LinkExtractor的输出链接没有改变。就像这样:

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

CustomLinkExtractor是我的自定义LinkExtractor

print Links:

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

现在我改变了规则:

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

print Links:

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

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

1 个答案:

答案 0 :(得分:1)

您将规则的follow参数与LinkExtractor的nofollow混淆。

有些网站使用rel=nofollow表示网络抓取工具不应该遵循此网址,这正是linkextractor在这种情况下显示的内容 - 链接节点有rel=nofollow。它与Rule对象无关。

请参阅wikipedia's article on nofollow

  

nofollow是一个可以分配给HTML元素的rel属性的值,用于指示某些搜索引擎超链接不应影响搜索引擎索引中链接目标的排名。