【问题标题】:Get Twitter card from API从 API 获取 Twitter 卡
【发布时间】:2014-01-17 14:48:08
【问题描述】:

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

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

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

【问题讨论】:

    标签: twitter


    【解决方案1】:

    Twitter api 不提供开箱即用的 twitter-card 信息。您可以通过在其 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;            
        }
    

    【讨论】:

      【解决方案2】:

      Twitter 卡片本身通过 Twitter API 公开。

      您需要做的是向提到的 URL 发出请求,并检查 <head> 元素以查看其中是否有 Twitter Card 信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-14
        • 1970-01-01
        • 2016-06-21
        • 2017-01-22
        • 2017-10-07
        • 2014-01-26
        • 2013-05-04
        • 2021-06-11
        相关资源
        最近更新 更多