从API获取Twitter卡。

9

我可以获取存储在Twitter Card中的HTML标记(https://dev.twitter.com/docs/cards)。

到目前为止,我使用TweetSharp库从某些用户的时间线中检索推文。但是,因为卡片是新事物,所以不包括在内也就不足为奇了。

有人知道是否可以通过API访问卡片(由Twitter爬虫缓存的数据)吗?

2个回答

8

Twitter卡片本身并没有通过Twitter API公开。

您需要做的是向提到的URL发送请求,并检查元素,以查看是否在其中包含Twitter卡片信息。


2

Twitter的API并不直接提供Twitter卡片信息。您可以通过在HTML中查找URL来提取卡片信息。以下C#代码可从URL中获取卡片图像源-

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;            
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接