mar*_*zzz 8 html javascript meta jquery opengraph
我正在制作一个在用户的Twitter上检索推文的应用程序.
这些Feed包含指向外部资源的链接,例如Artciles,网页或YouTube视频.
我在Twitter API中提供了这些Feed的JSON,但是没有包含og:内容的属性.而且我想抓住它们并显示到我的网站上.
比如StackOverflow的这个问题:
<meta name="og:type" content="website" />
<meta name="og:image" content="http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon@2.png?v=fde65a5a78c6"/>
<meta name="og:title" content="How can I check classes that ends with?" />
<meta name="og:description" content="I have some elements such as:
&lt;div class="button 17-facebook-dashboard-check"&gt;Elem1&lt;div&gt;
&lt;div class="button 18-google-dashboard-check"&gt;Elem2&lt;div&gt;
&lt;div class="button " />
<meta name="og:url" content="https://stackoverflow.com/questions/19001883/how-can-i-check-classes-that-ends-with"/>
Run Code Online (Sandbox Code Playgroud)
我想在每条推文上捕获每个共享资源的信息.所以我觉得我会,每个鸣叫(这对我来说是一个盒子)做一个Ajax请求的客户端,下载HTML和解析它,检索og:title,og:description,og:type和og:image.
这是最好的方法吗?什么是在Javascript/Jquery中解析这些数据?
ris*_*isk 12
这些og:属性是Open Graph Protocol属性,有很多方法可以获得这些数据:你应该检查Open Graph Protocol解析器的代码,这对你来说非常有用,而且这个PHP和jQuery Facebook链接解析器.
您还可以查看有关PHP解析和此Opengraph PHP解析器的StackOverflow问题, 并使用ajax调用动态使用它们.
最后,这个关于JQuery和纯JavaScript解析的StackOverflow问题非常有趣,可以真正帮助你.
希望你能找到你需要的东西!;)
免责声明:OpenGraph.io 是我开发和支持的商业产品。
正如您提到的,通常没有 OG 标签可供使用。您可能会遇到各种各样的情况(例如编码、滥用 HTML 标签等)。如果你想处理边缘情况,我推荐http://www.opengraph.io/
它的主要好处之一是,如果 OpenGraph 标签不存在,它将从页面上的内容推断出标题或描述(如果您最终需要的话)等信息。
要获取有关站点使用的信息(链接应进行 URL 编码):
$.ajax('http://opengraph.io/api/1.0/site/http%3A%2F%2Fwww.washingtontimes.com%2F')
.done(function(data){
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
这将返回类似以下内容:
{
"hybridGraph": {
"title": "Washington Times - Politics, Breaking News, US and World News",
"description": "The Washington Times delivers breaking news and commentary on the issues that affect the future of our nation.",
"image": "http://twt-assets.washtimes.com/v4/images/logo-twt.4b20fb5d7b29.svg",
"url": "http://www.washingtontimes.com/",
"type": "site",
"site_name": "Washington Times "
},
"openGraph": {...},
"htmlInferred": {...},
"requestInfo": {...}
}
Run Code Online (Sandbox Code Playgroud)