【问题标题】:Extract information from link, like Facebook wall从链接中提取信息,例如 Facebook 墙
【发布时间】:2011-07-25 20:53:03
【问题描述】:

我一直在开发一个应用程序,它可以像某种提要一样发布内容。 我想像链接一样添加内容(比如在 facebook 墙上)。

然后我需要一些逻辑来解析链接目标并提取正确的文本和图像以创建缩略图。

就像 Facebook 在墙上发布链接时所做的那样。

提取/抓取引擎似乎相当复杂,但解决此问题的最佳方法是什么?

我曾考虑过绕过 Facebook api 并从 facebook 发布然后获取项目,并以这种方式简单地使用他们的引擎,但我真的很想将其作为一个内部系统来做。

【问题讨论】:

    标签: c# html facebook parsing


    【解决方案1】:

    AFAIK Facebook 通过使用元标记(开放图形协议)来做到这一点。您可以通过以下方式了解更多信息:https://developers.facebook.com/docs/opengraph/

    基本上,如果你想在内部实现,你应该定义一个约定。
    希望这会有所帮助。

    【讨论】:

    • 谢谢大佬!!!这太棒了......该链接实际上解释了他们的URL Linter - 这正是我需要的,并返回json。所以对于我的 POC,我将使用 Facebooks Linter ant 来获取返回的 json。 developers.facebook.com/tools/lint/…
    • 非常感谢!正是我搜索的内容。
    • @Denis Parchenko:很高兴我能帮上忙。
    【解决方案2】:

    我认为 facebook 基础设施所做的是提取页面内容(通过 ajax 调用),然后获取第一段(如果是网页,如果是 youtube 视频,则进行描述等),它允许用户选择页面上的图像之一作为缩略图。您可以只选择标记中的第一个图像或设计自己的逻辑。基本上,我会像设计一个临时缓存引擎一样去做。你得到页面标记+图像,使用它们然后丢弃。

    【讨论】:

    • 有点。但是如果我在链接中提交到具有主要内容和辅助内容的页面,Facebook 的逻辑总是会获取主要文本而不是辅助文本。这告诉我,当它抓取页面时,我有某种 og 逻辑可以在内容容器之间进行优先级排序。
    • 我猜他们使用与 GoogleBot 相同的逻辑。 H1 标签下的段落,最靠近网站左上角的段落获得最大权重。
    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 2017-12-20
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多