我想从公共Facebook墙上的帖子中获取数据

时间:2014-08-23 03:50:13

标签: javascript php facebook facebook-graph-api web-crawler

是否有人抓取或使用FB API访问公开个人资料墙上的数据?如果您只是转到URL,您可以检查元素以查看大部分数据以及墙上无限滚动的ajax调用。

我怎么去完成这个?

以下帖子没有得到解答,或者情况不一样但是很接近:

作为我想要完成的一个例子,这个公开个人资料https://www.facebook.com/aurelia.filion有一个2013年11月21日的墙贴,我假设想从中获取数据。怎么办?

3 个答案:

答案 0 :(得分:1)

禁止抓取Facebook ,除非您有明确的书面许可。


Facebook的自动数据收集条款(复制日期2017年3月19日)

  1. 这些条款通过自动方式管理您从Facebook收集的数据,例如通过收获机器人,机器人,蜘蛛或刮刀(“自动数据收集”)以及您对该数据的使用。

  2. 未经Facebook明确书面许可,您不得参与自动数据收集。

  3. 获得参与自动数据收集的许可后,您同意遵守这些自动数据收集条款,其中引用了权利和责任声明。

  4. 您同意您对通过自动数据收集收集的数据的使用仅限于搜索索引以便在互联网上显示,除非获得Facebook的单独批准,以替代使用并在互联网上显示。

  5. 您同意不会出售通过自动数据收集收集的数据或从中收集的任何数据。

  6. 您同意不会以汇总或批量形式传输通过自动数据收集收集的数据。

  7. 您同意在Facebook的书面请求中销毁您通过自动数据收集收集的所有数据,并且您将根据伪证处罚证明此类销毁。

  8. 您同意Facebook可以出于任何原因随时撤销授予的任何许可,并且您同意在撤销通知时立即停止收集和使用通过自动数据收集收集的数据。

  9. 您同意在收到Facebook此类会计请求后的十(10)天内,对通过自动数据收集收集的数据的所有使用情况进行说明。

  10. 您同意不会规避Facebook实施的任何措施,以防止违反这些条款。

  11. 您同意不会违反任何机器人排除标题中的限制。

  12. 您同意只使用自己的真实IP地址/用户身份,并且不会在其他服务的IP地址/用户名字符串下屏蔽您的服务。

  13. 您同意未经Facebook明确书面同意,您不会将任何经批准的IP地址或使用者转让给任何一方。

  14. 您同意,任何违反这些条款的行为都可能导致您立即禁止所有Facebook网站,产品和服务。您承认并同意,违反或威胁违反这些条款将导致无法弥补的损害,金钱损失将是一种不充分的补救措施,并且Facebook有权获得临时和永久的禁令救济,而无需发布任何保证金或其他担保,禁止您或代表您行事的任何人违反此类行为或受到威胁的违约行为。此处的任何内容均不得解释为阻止Facebook追求任何可用的补救措施,包括追回金钱损失。

  15. 此处的任何内容均不得解释为授予任何知识产权授予或许可,无论是通过禁止反言,暗示还是其他方式。

  16. 在此处阅读完整列表https://www.facebook.com/apps/site_scraping_tos_terms.php

答案 1 :(得分:0)

FaceBook已经关闭了你可以从API中获取的大部分数据。除非你是朋友,否则它只限于他们的姓名,用户名,语言环境,如果我没记错性别。这些是默认设置。如果他们专门选择分享更多(一般的应用程序,这是非常少的人),将有更多的信息。

我认为要获得帖子,您需要该人允许您的应用(开发者ID)访问其帖子。

至于刮擦。你可以做到这一点,但FB再次明智。在向您展示验证码之前,您可以抓取大约1,000-2,000页。然后,您还需要多个帐户和代理。

首先,你需要CURL。我推荐以下PHP:

http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading

http://semlabs.co.uk/journal/multi-threaded-stack-class-for-php

那里有基本的例子。我相信我的历史记录中有一些关于登录的帖子。报废非常简单。我更喜欢RegEx从页面获取详细信息:

preg_match_all( '~<div.*? class="this-data".*?>(.*?)<\/div>~is', $page, $mats );

答案 2 :(得分:0)

要从Facebook墙上获取数据,您必须使用Facebook Open Graph API和Facebook OAuth从Facebook外部登录。 您将在此处获得完整的详细信息facebook developer panel