【问题标题】:how can I change the attr "nofollow" of Links如何更改链接的属性“nofollow”
【发布时间】:2017-04-23 07:40:33
【问题描述】:

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

    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”决定是否跟随链接

【问题讨论】:

    标签: python-2.7 scrapy


    【解决方案1】:

    您将 Rule 的 follow 参数与 LinkExtractor 的 nofollow 参数混淆了。

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

    wikipedia's article on nofollow

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

    【讨论】:

    • 谢谢你,对我帮助很大
    • @Zioyi 没问题,真是令人困惑的命名巧合!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 2010-09-15
    • 1970-01-01
    • 2016-03-30
    相关资源
    最近更新 更多