我可以获取存储在Twitter Card中的HTML标记(https://dev.twitter.com/docs/cards)。
到目前为止,我使用TweetSharp库从某些用户的时间线中检索推文。但是,因为卡片是新事物,所以不包括在内也就不足为奇了。
有人知道是否可以通过API访问卡片(由Twitter爬虫缓存的数据)吗?
我可以获取存储在Twitter Card中的HTML标记(https://dev.twitter.com/docs/cards)。
到目前为止,我使用TweetSharp库从某些用户的时间线中检索推文。但是,因为卡片是新事物,所以不包括在内也就不足为奇了。
有人知道是否可以通过API访问卡片(由Twitter爬虫缓存的数据)吗?
Twitter卡片本身并没有通过Twitter API公开。
您需要做的是向提到的URL发送请求,并检查元素,以查看是否在其中包含Twitter卡片信息。
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;
}