Scraper在大约390KB的文件上失败

时间:2012-08-11 13:26:03

标签: facebook debugging opengraph scraper

Facebook的网址是否有大小限制?我们在网站上有几本书。具有一定大小(~390KB)的HMTL文件大小的那些被刮除并正确读取但是较大的4不能。这些较大的项目获得200响应代码,并打开规范URL。

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

  1. 点击规范网址
  2. 在Firefox中打开Firebug或Chrome到网络选项卡中的开发者工具 3,所列失败的&.; 390KB的* .html大小& < ~390K的成功
  3. 点击“查看我们的刮刀对您的网址的确切内容”
  4. 失败的空白页,成功的HTML
  5. 故障:

    成功案例:

2 个答案:

答案 0 :(得分:4)

您的问题的解决方案可能是检查真实用户或Facebook机器人是否正在访问您的页面。如果是机器人,则只为其渲染必要的元数据。您可以通过其Facebook documentation的用户代理检测机器人:
"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;
}

答案 1 :(得分:0)

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