“Facebook调试器返回”;“文档未返回任何数据”;

“Facebook调试器返回”;“文档未返回任何数据”;,facebook,facebook-graph-api,Facebook,Facebook Graph Api,最近我注意到Facebook的对象调试器无法抓取我网站的任何页面。在对互联网进行故障排除和搜索之后,我对可能导致此错误的原因感到不知所措 每当我尝试获取我的网站的新片段时,都会返回以下错误: 分析输入URL时出错,未缓存任何数据或未刮取任何数据 当点击“查看我们的scraper为您的URL所看到的内容”时,scraper返回: 文档没有返回任何数据 由于缺乏数据,这显然有点难以调试。以下是我迄今为止所尝试的: 检查了DNS设置,一切正常 尝试使用“像谷歌一样抓取”,谷歌机器人在抓取HTML页面

最近我注意到Facebook的对象调试器无法抓取我网站的任何页面。在对互联网进行故障排除和搜索之后,我对可能导致此错误的原因感到不知所措

每当我尝试获取我的网站的新片段时,都会返回以下错误:

分析输入URL时出错,未缓存任何数据或未刮取任何数据

当点击“查看我们的scraper为您的URL所看到的内容”时,scraper返回:

文档没有返回任何数据

由于缺乏数据,这显然有点难以调试。以下是我迄今为止所尝试的:

  • 检查了DNS设置,一切正常
  • 尝试使用“像谷歌一样抓取”,谷歌机器人在抓取HTML页面时没有问题
  • 已验证站点上的所有元设置<代码>fb:app\u id,
    og:title
    og:description
    og:site\u name
    og:url
    og:type
    都存在
  • 确保规范URL引用主页,并且没有任何尾随斜杠或尾随数据
  • 回滚在上次成功爬网日期之前提交到
我不知道是什么导致了这一切。如果有人有任何想法,或需要更多信息,我很乐意提供

检查访问日志后,我看到以下内容:

173.252.112.115--[22/Jun/2015:20:49:02+0000]“GET/HTTP/1.1”404993“-”facebookexternalhit/1.1 (+)”

但这很奇怪,因为正常用户会立即跟随它:

[用户ip]-[22/Jun/2015:20:48:09+0000]“GET/HTTP/1.1”200 28227 “-”Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/535.7(KHTML, 如壁虎)铬/16.0.912.63 Safari/535.7“

robots.txt中没有禁止机器人的内容


编辑:这个网站在Django上运行,AngularJS为我的页面提供服务。我正在使用django seo js与prerender一起工作,以改进seo

当我在Chrome中访问您的页面并发送
facebookexternalhit/1.1时(+http://www.facebook.com/externalhit_uatext.php)
作为
用户代理
标题的值,我也得到了一个404(我使用了ModHeader扩展名),而使用我的普通Chrome用户代理的请求会显示您的起始页

因此,调查一下你是否有插件、“防火墙”规则或类似的设置来对抗“机器人”的请求——当涉及到FB刮板的访问时,这可能有点过于热心了。
但似乎不是这样(这只是一个有根据的猜测,因为这通常是这些问题的原因),但正如你所说

它抛出了一个Javascript堆栈跟踪。这似乎是由预渲染引起的


–如果您找到了确切的原因,请告诉我们。

您能给出实际页面的URL吗?您是否检查了服务器的访问和错误日志,以查找触发刮取的时间戳?FB刮板的请求是否到达您的服务器?url为;我将查看访问日志,并报告当我请求刮取时在访问日志中注册的备份<代码>173.252.112.115---[22/Jun/2015:20:49:02+0000]“GET/HTTP/1.1”404993“-”facebook外部点击/1.1(+http://www.facebook.com/externalhit_uatext.php)“看起来像是碰到了404?我们有一些日志显示也有200条回复。是的,当我在Chrome中访问你的页面并发送
facebookexternalhit/1.1时(+http://www.facebook.com/externalhit_uatext.php)
作为
用户代理
头的值,我也得到了一个404(我使用了ModHeader扩展),而我的普通Chrome用户代理的请求会显示你的起始页。所以,调查一下你是否有任何插件、“防火墙”规则或类似的设置来对抗“机器人”的请求——在这方面,当涉及到FB刮板的访问时,可能有点过于热心。是的……它抛出了一个Javascript堆栈跟踪。这似乎是由预渲染引起的。谢谢你的帮助-请随意发布你的回复,我可以接受它作为答案。事实确实如此。Facebook机器人的用户代理被发送到我们的
?\u转义\u片段\u=
URL,这反过来又会引发prerender.io错误。预渲染中有一个票证,用于确定404的原因。事实证明,这是由故障的nginx服务器引起的。重建新服务器后,一切都恢复正常。@ZackTanner你能详细说明这一点吗,我想我也有同样的问题。