新浪微博的数据是分三段显示的。代码中只请求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。
本文详细介绍了如何通过分段访问策略获取新浪微博的所有数据,包括三次访问的URL构造方式,以及如何利用mid参数确保数据的连续性和完整性。
4600

被折叠的 条评论
为什么被折叠?



