c#网页方式获取新浪微博的微博数据

来源:互联网 发布:数据之魅 pdf 编辑:程序博客网 时间:2024/06/05 22:46

新浪微博的数据是分三段显示的。代码中只请求http://weibo.com/leijun#!/leijun?page=2&pre_page=1&end_id=3547112191461289&end_msign=-1只能获取第一段前15条微博。

代码需要访问三次才能将微博数据全部获取

第一次访问的url为  url = "http://weibo.com/" + uid + "?from=profile&wvr=5&loc=tagweibo&page=" + j.ToString()
                    + "&pre_page=" + (j - 1).ToString() + "&end_id=" + end_id + "&end_msign=-1";

其中uid为需要访问的新浪用户uid(不是新浪用户账户,收集过新浪微博数据的你应该是知道的吧)。

page为微博的页码,pre_page为前一页的页码,end_id为最新发布的微博的mid(即首页第一条微博的mid,获取一次后,之后访问此值保持不变)。

第二次访问的url为 url = "http://weibo.com/" + uid + "?from=profile&wvr=5&loc=tagweibo&page=" + j.ToString()
                   + "&pre_page=" + j.ToString() + "&end_id=" + end_id + "&end_msign=-1&max_id="+max_id+"&pagebar=0";

其它值与第一次访问一致。max_id表示第一次访问后返回的最后一条微博(即当前页的第15条微博的)的mid。

第三次访问的url url = "http://weibo.com/" + uid + "?from=profile&wvr=5&loc=tagweibo&page=" + j.ToString()
                    + "&pre_page=" + j.ToString() + "&end_id=" + end_id + "&end_msign=-1&max_id=" + max_id + "&pagebar=1";

其它值与第一次访问一致。max_id表示第二次访问后返回的最后一条微博(即当前页的第30条微博)的mid。

0 0