我见过各种关于FB开放图形图像标签的SO线程,例如:Facebook multiple og:image tags - Which is Default?
这些线程已有2.5年历史,所以我想知道规则是否已更新。此外,所显示的最高分辨率图像的接受答案似乎不完美。如果图像不一样怎么办?例如,如何为主页创建一个图像,然后在加载AJAX的页面上创建另一个图像?
由于这些规则被FB,Reddit和许多高流量网站使用,显然这些信息非常有价值。谢谢!
答案 0 :(得分:0)
由于reddit是开源的,你可以看看它的行为是什么。
您要查看的地方是_find_thumbnail_image()
。现在,这是与Open Graph相关的代码:
# Allow the content author to specify the thumbnail using the Open
# Graph protocol: http://ogp.me/
og_image = (soup.find('meta', property='og:image') or
soup.find('meta', attrs={'name': 'og:image'}))
if og_image and og_image['content']:
return og_image['content'], None
og_image = (soup.find('meta', property='og:image:url') or
soup.find('meta', attrs={'name': 'og:image:url'}))
if og_image and og_image['content']:
return og_image['content'], None
因此,它会使用Beautiful Soup's find()
method returns,这应该是第一个匹配的标记。