从API获取Twitter卡

时间:2014-01-17 14:48:09

标签: twitter

我将能够检索存储在Twitter卡(https://dev.twitter.com/docs/cards)中的HTML标记。

到目前为止,我使用TweetSharp库从某个用户的时间轴中检索推文。但是,这并不奇怪,因为卡片是新的东西,它不包括在内。

有没有人知道,是否可以使用API​​访问卡(由Twitter爬虫缓存的数据)?

2 个答案:

答案 0 :(得分:7)

Twitter卡本身通过Twitter API公开。

您需要做的是向提到的网址发出请求并检查<head>元素,看看他们是否有Twitter卡信息。

答案 1 :(得分:1)

Twitter api不提供开箱即用的Twitter卡信息。您可以通过在其html中查找来提取该URL的卡信息。下面的csharp中的代码从url-

获取卡片图像src
public static TweetMedia[] GetTwitterCardDetails(string url)
    {
        string HTML;
        using (var wc = new WebClient())
        {
            HTML = wc.DownloadString(url);
        }
        var doc = new HtmlAgilityPack.HtmlDocument();
        doc.LoadHtml(HTML);
        
        HtmlNode element = doc.DocumentNode.SelectSingleNode("//meta[@name='twitter:image:src']");
        if (element != null)
        {
            return new TweetMedia[] { new TweetMedia { url=url, media_url_https = element.Attributes["content"].Value, type = TweetTypes.TweetType.Photo.ToString() } };
        }   
        return null;            
    }