首页 > 解决方案 > driver.page_source 使用 Selenium 仅返回 meta name="ROBOTS" content="NOINDEX, NOFOLLOW"

问题描述

我想抓取一个网站,以使用以下代码获取页面内容:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote("http://adress:4444/wd/hub", DesiredCapabilities.CHROME)
link = 'website_url'
driver.get(link)
s = driver.page_source
print((s.encode("utf-8")))
driver.quit()

这是收到的:

<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">

我也尝试了很多不同的方法,Luminati,proxy newipnow,phantomjs,但都不起作用,有什么建议我可以尝试解决这个问题吗?

标签: pythonseleniumweb-scrapingmeta-tagsmeta

解决方案


<meta name="ROBOTS" content="value">

这个元标签传达了不同的搜索引擎关于他们被允许和不允许在某个页面上执行的操作。此元标记可以放置在<head>and</head>标记内的任何位置。

注意:: 由于此<meta>标签没有站点范围的效果,它可以在同一网站的不同页面上包含不同的值。

有效值为

  • Index(默认值)
  • Noindex
  • None
  • Follow
  • Nofollow
  • Noarchive
  • Nosnippet

这些值也可以组合起来形成所需的有效元机器人标签。

例子:

  • <meta name="robots" content="noindex" />
  • <meta name="robots" content="index,follow" />
  • <meta name="robots" content="index,follow,noarchive" />

内容="NOINDEX,NOFOLLOW"

NOINDEX值表示搜索引擎索引该页面,因此该页面不应显示在搜索结果中。该NOFOLLOW值传达搜索引擎NOT关注或发现此页面上链接的页面。

Web 开发人员在开发网站上添加了NOINDEXNOFOLLOW元机器人标签,因此搜索引擎意外地不会开始向仍在建设中的网站发送流量。


你为什么看?

原因可能是以下之一:

  • 您正在尝试在Development Environment中执行您的自动化测试
  • 开发团队不小心将此标签添加到实时网站。
  • 开发团队在上线后忘记将其从实时网站中删除。

参考

元名称“机器人”标签的含义是什么


奥特罗

使用机器人元标记


推荐阅读