2

Facebook 的 URL 抓取工具是否有大小限制?我们在网站上有几本书。那些 HMTL 文件大小低于特定大小 (~390KB) 的文件会被抓取并正确读取,但较大的 4 个文件则不会。这些较大的项目会收到 200 响应代码,并且会打开规范 URL。

所有这些页面都是使用相同的模板构建的,唯一的区别是每本书内容的大小以及每本书与网站上其他页面的链接数量。

  1. 点击规范网址
  2. 在 Firefox 或 Chrome 中的开发人员工具中打开 Firebug 到网络选项卡 3,对于列出的失败,*.html 大小为 >~390KB,成功为 <~390K
  3. 点击“查看我们的抓取工具为您的 URL 看到的确切内容”
  4. 失败为空白页,成功为 HTML

失败:

成功:

4

2 回答 2

4

您的问题的解决方案可能是检查真实用户或 Facebook 机器人是否正在访问您的页面。如果是机器人,则只为它渲染必要的元数据。您可以通过其用户代理检测机器人,根据Facebook 文档,该用户代理是:
"facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

代码看起来像这样(在 PHP 中):

function userAgentIsFacebookBot() {
    if ($_SERVER['HTTP_USER_AGENT'] == "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)") {
        return true;
    }
    return false;
}
于 2012-08-13T12:14:21.840 回答
0

你确定这不是你的问题吗?上次我检查刮板只请求了文档的前 4096 个字节,这应该总是有足够的空间来检索<head></head>带有元标记的部分

于 2012-08-11T15:21:46.820 回答