blogspot.com 的某些页面不包含开放图标签,但 Facebook 对象调试器仍然可以正确解析开放图属性。它如何获取开放图信息?
例如,我在中没有看到任何开放图元标记http://sushiwens.blogspot.com/源代码。但 facebook 正确解析了它https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fsushiwens.blogspot.com%2F
我需要在Python中实现类似开放图解析功能的东西,所以我需要知道如何去做。
我没有真正的消息来源来确定 Facebook 是如何做的,但是这个网站可能会帮助你。
我利用他的想法用 python 开发了一个解析器。如果它可以帮助你,Python项目是here.
如果我尝试总结一个在没有 og 标签的情况下获取数据的策略:
-
Title:
- 搜索标题标签
- 在正文中搜索 h1
- 在体内搜索 h2 ...
-
Description:
- 在 中搜索
- 搜索正文中的可见文本(例如第一个
)
- 搜索 是一个解决方案,但我不这样做:通常描述很糟糕,与 Twitter 的内容比链接的真实内容更相关。
-
Domain name:
- 搜索
- 搜索 og:url
- 但我做得更简单:从目标链接中提取域(在Python中:
urlparse(url).netloc
- Last but not least: images:
- 搜索
- parse the target link html for all <img> tags and "sort" them:
- 小图像:一维
- 不良比例图像:最长边/最短边比例> 3的剩余图像
- 好图:剩余
- 然后选择好图像中最大的图像。如果没有好的形象:坏的比例最大。否则:小图像中最大。 (最大=最大宽度x高度)
- 获取所有图像可能非常耗时!人们可以通过图像的第一个字节获取尺寸,但这是另一个故事(参见第二个链接)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)