新浪微博的数据是分三段显示的。代码中只请求http://weibo.com/leijun#!/leijun?page=2&pre_page=1&end_id=3547112191461289&end_msign=-1只能获取第一段前15条微博。
代码需要访问三次才能将微博数据全部获取
第一次访问的url为
其中uid为需要访问的新浪用户uid(不是新浪用户账户,收集过新浪微博数据的你应该是知道的吧)。
page为微博的页码,pre_page为前一页的页码,end_id为最新发布的微博的mid(即首页第一条微博的mid,获取一次后,之后访问此值保持不变)。
第二次访问的url为 url = "http://weibo.com/" + uid + "?from=profile&wvr=5&loc=tagweibo&page=" + j.ToString()
其它值与第一次访问一致。max_id表示第一次访问后返回的最后一条微博(即当前页的第15条微博的)的mid。
第三次访问的url url = "http://weibo.com/" + uid + "?from=profile&wvr=5&loc=tagweibo&page=" + j.ToString()
其它值与第一次访问一致。max_id表示第二次访问后返回的最后一条微博(即当前页的第30条微博)的mid。