Sina Weibo は現在勢いを増しているようで、多くの人が自分のマイクロブログを作成すると、好奇心からフォローし始めます。時間が経つにつれて、友達の数が 100 人を超えると、自分が情報の奔流の中に完全に浸かってしまったことに気づくでしょう。その多くは、将来的には考えられないかもしれませんし、決して思い出すこともないでしょう。見ない人、これは明らかに「フォロー」の目的に反しています。多くの場合、知り合いのニュースが更新されたかどうかを見たいだけかもしれませんが、明らかにそれはできません。毎回、フォローする人のリストにアクセスしてクリックし、その人のホームページに 1 つずつアクセスするのは面倒です。 RSS リーダーを使用したことのあるユーザーは、情報取得における RSS リーダーの優位性を実感しているかもしれません。 RSS リソースの更新をリアルタイムで追跡し、指定したサブスクリプション リソースの更新数を表示できるため、ユーザーは情報を受動的に受け入れるのではなく、積極的に情報を取得できるようになります。 Weiboの「情報洪水」問題を解決するには非常に効果的です。
作者は数日を費やして、最終的に、指定したユーザーの友達を取得し、ACCESS データベースに保存してバックアップし、RSS 読み取りリソースを生成するプログラムを作成しました。私はそれを自分だけのものにしておく勇気がないので、オープンソースにしてみんなと共有します。今後時間があれば、プログラムを理解していないユーザーでも操作しやすいようにデスクトップソフト化したいと思います。この話はまたの機会に。
1.Sina Weibo RSSサードパーティのWebサイトを購読するSina Weibo自体はRSS購読を提供していませんが、オンラインで検索したところ
、Sina WeiboのRSSを提供するサードパーティのWebサイトを見つけましたリソースがあるため、率直に言うと、この記事の RSS 購読はすべてこのサードパーティ Web サイトに基づいています。 log.medcl.net/item/2010/02/sina-bo-rss-subscribe-feed-generate-micro/
2.OPMLファイルXML形式 以下これは、Google Reader からエクスポートされた opml ファイルです。これはオンライン RSS リーダーの標準形式であり、少なくとも「Xianguo」や「Youdao」などの一般的なオンライン リーダーでもこの形式のファイルのインポートがサポートされています。
を分析し、必要な情報をこの構造のファイルに書き込みますプログラムを通じて、読者にとって便利です引用。 OPML ファイルは、ヘッダー タグ
(主にこのファイルの一部の コメント であり、実際の RSS 購読情報には影響せず、あまり重要ではありません) と で構成されます。サブスクリプション リソース)。 ノードの下に第 1 レベルの——ユーザーの友人データをサーバーからローカルの XML ファイルにエクスポートします Sina Weibo API の詳細については、Sina Weibo API 公式 Web サイトを参照してください。 open.t.sina.com.cn/wiki/index.php/Homepage
ID 認証とデータリクエストについては、cnblogs:
「Sina Weibo Open Platform を呼び出す .NET のコード例
インターフェース」を参照してください。
www.cnblogs.com/cmt/archive/2010/05/13/1733904.html以下は、サーバーからユーザーの友達情報をリクエストするためにコンパイルしたコードです:
private void getFriends() { int previous_cursor=-1; int next_cursor = -1; while (next_cursor != 0) { string cursor = Convert.ToString(previous_cursor); string url = " http://api.t.sina.com.cn/statuses/friends.xml?source=AppKey&cursor=" + cursor; string username = "dreamzsm@gmail.com"; string password = name; //这里输入你自己微博登录的的密码 //注意这里的格式哦,为 "username:password" System.Net.WebRequest webRequest = System.Net.WebRequest.Create(url); System.Net.HttpWebRequest myReq = webRequest as System.Net.HttpWebRequest; //身份验证 string usernamePassword = username + ":" + password; CredentialCache mycache = new CredentialCache(); mycache.Add(new Uri(url), "Basic", new NetworkCredential(username, password)); myReq.Credentials = mycache; myReq.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(usernamePassword))); WebResponse wr = myReq.GetResponse(); Stream receiveStream = wr.GetResponseStream(); StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8); string content = reader.ReadToEnd(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(content); // xmlDoc.Load("data1.xml"); XmlNodeList nodeList = xmlDoc.SelectSingleNode("users").ChildNodes;//获取根节点的所有子节点 next_cursor = Convert.ToInt16(nodeList.Item(nodeList.Count - 2).InnerText); previous_cursor = Convert.ToInt16(nodeList.Item(nodeList.Count-1).InnerText); string xmlName = "friends_" + nodeList.Item(nodeList.Count - 1).InnerText + "_" + Convert.ToInt16(nodeList.Item(nodeList.Count - 2).InnerText) + ".xml"; previous_cursor = next_cursor; xmlDoc.Save(xmlName); } }
如此,就得到了所有的你的好友(就是你跟随的人)的信息了,以单人为例,其主要信息如下:
可以看到这里面的信息量是超级多的,我简单介绍下几个主要的节点吧
除了user信息外,还有一些其它信息,比如根节点下的next_cursor和previous_cousor,这方便用户分多次到服务器上请求数据时可以此作为定位依据。
对多个XML文件进行遍历,一个个导入到ACCESS数据库中:
经过上面的操作后,你再打开你的ACCESS数据库文件weibo.mdb文件中对应的表,就可以看到所以的信息都已经导入到ACCESS中了。如下图所示: 5. 对ACCESS数据库查询并写成RSS阅读器的OPML格式 对于制作RSS阅读器的OPML格式,需要的数据只有两条字段:一个是id字段,一个是name字段。 这个过程实际上就是对数据进行XML编码的过程,啥都不说了,一切都在代码中了(也是在ASP.NET工程中写的):
最后在指定的目录下,程序就自动生成了一个RssReader.xml的文件了。大功告成了! 然后将此文件就可以导入到任何一个RSS阅读器中了,用户就能够通过RSS阅读器来获取微博信息了,而且现在的RSS阅读器都有个一键转贴到微博的功能,很方便的,不想转到自己微博的,也可以通过RSS阅读器直接收藏到阅读器中。辛苦了两天,今天能有这么一点小成果,还是觉得很不错的,呵呵,也祝大家也能好运。本次代码比较还需要各种完善,比如,如何将所以的数据写成一个XML文件,这个笔者就暂时不做了,留给大家去做吧。 Rss阅读器效果图如下: 【相关推荐】 1. RSS高校入门教程 |
以上がRSSリソースファイルを生成するAPIの呼び出し例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。