Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从链接中提取信息,如Facebook墙_C#_Html_Facebook_Parsing - Fatal编程技术网

C# 从链接中提取信息,如Facebook墙

C# 从链接中提取信息,如Facebook墙,c#,html,facebook,parsing,C#,Html,Facebook,Parsing,我一直在开发一个应用程序,它可以像feed一样发布内容。 我想添加像链接一样的内容(比如在facebook的墙上) 然后我需要一些逻辑来解析链接目的地,并提取正确的文本和图像来创建缩略图 就像Facebook在你的墙上发布链接一样 提取/爬行引擎似乎相当复杂,但实现这一点的最佳方法是什么 我曾经考虑过使用Facebook api和post,然后从Facebook取回项目,这样就可以简单地使用他们的引擎,但我真的很想作为一个内部系统来完成这项工作。AFAIK Facebook通过使用meta标记(

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

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

就像Facebook在你的墙上发布链接一样

提取/爬行引擎似乎相当复杂,但实现这一点的最佳方法是什么


我曾经考虑过使用Facebook api和post,然后从Facebook取回项目,这样就可以简单地使用他们的引擎,但我真的很想作为一个内部系统来完成这项工作。

AFAIK Facebook通过使用meta标记(开放图形协议)来完成这项工作。您可以在以下网址了解更多信息:

基本上,如果要在内部实现is,您应该定义一个约定。

希望这会有所帮助。

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

有点像。但是如果我在链接中提交一个包含主内容和副内容的页面,Facebooks逻辑总是获取主文本而不是副文本。这告诉我,当内容容器在页面上爬行时,我有一些og逻辑可以在内容容器之间优先考虑。我猜它们使用的逻辑与GoogleBot相同。最靠近网站左上角的H1标签下的段落获得了最大的权重。谢谢!!!这太棒了。。。这个链接实际上解释了他们的rurl Linter,它正是我所需要的,并返回json。因此,对于我的POC,我将使用Facebooks Linter ant获取返回的json。谢谢!丹尼斯·帕琴科:很高兴我能帮上忙。