Facebook Graph IP过滤

时间:2019-03-11 12:28:36

标签: facebook facebook-graph-api web-scraping scrapy

我读了几篇关于Facebook Graph Api对请求设置600秒内600个请求的限制的帖子。

这个问题是关于我所面临的问题的一些澄清。 我正在执行请求,对于FB图来说非常简单:

所以,我从家里跑了

curl https://graph.facebook.com/v2.0/?id=https://www.example.com/article/the-name-of-the-article/

(使用斜杠并非微不足道)
这给了我空洞的结果:

{
   "share": {
      "comment_count": 0,
      "share_count": 605
   },
   "og_object": {
      "id": "XXXXX6ZZ70301002",
      "description": "text",
      "title": "title",
      "type": "article",
      "updated_time": "2019-03-09T00:15:06+0000"
   },
   "id": "https://www.example.com/article/the-name-of-the-article"
}

我从网站上的js代码中获取了网址。 取而代之的是,仍然从本地网络在相同的URL上运行Scrapy搜寻器,结果与我相同:

{
   "share": {
      "comment_count": 0,
      "share_count": 605
   },
   "og_object": {
      "id": "XXXXX6ZZ70301002",
      "description": "text",
      "title": "title",
      "type": "article",
      "updated_time": "2019-03-09T00:15:06+0000"
   },
   "id": "https://www.example.com/article/the-name-of-the-article"
}

目前这还不错,并且js代码抓取系统似乎正在运行。结果包含js调用FB Graph的所有信息。

在服务器端,搜寻器按预期运行,但仔细查看结果,不存在来自js代码执行的信息。 我已经检查了整个代码,在其他网址中也触发了js操作以提供html内容,并且该代码实际上正常工作。

然后,重复简单的操作:

curl https://graph.facebook.com/v2.0/?id=https://www.example.com/article/the-name-of-the-article

这次是从服务器ip答复:

{
  "error": {
    "message": "(#4) Application request limit reached",
    "type": "OAuthException",
    "is_transient": true,
    "code": 4,
    "fbtrace_id": "ErXXXXZZrOn"
  }
}

关于ip块,该代码无法传递600个以上的请求。实际上,它向图形API发送的请求少于10个。

很显然,从js请求到服务器端Fb Graph Api的信息丢失了。

我尝试从不同的服务器,不同的提供程序检查云提供程序上是否存在Ip筛选器,但事实并非如此,因为在每台服务器中结果都是相同的。

这是怎么回事?
为什么从服务器ip地址触发js请求后,它们没有获得有效的响应数据? (因为它给出了错误OAuthException:也使用curl命令达到了应用程序请求限制)

感谢任何线索

0 个答案:

没有答案