<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" "">
<html>
<head>
<meta >
在百度搜索,新浪微博开放平台,最上面有 我的应用 ,点击进去,填写个人资料,就可以申请链接的App Key,然后下面的需要自己设计它的功能,如果没有这个App Key和App Secret就不能接入新浪微博的服务器,通过这个API可以设计自己的应用,别人使用了应用后就可以获得使用者的一些信息,方便使用,这种应用其实你在很多地方都能看到,例如:土豆上面的用微博账号登陆、美团网上用微博账号登陆,这些都是你所说的问题的一个企业版的应用。
先上结论,通过公开的api如果想爬到某大v的所有数据,需要满足以下两个条件:
1、在你的爬虫开始运行时,该大v的所有微博发布量没有超过回溯查询的上限,新浪是2000,twitter是3200。
2、爬虫程序必须不间断运行。
新浪微博的api基本完全照搬twitter,其中接口的参数特性与底层的NoSQL密不可分,建议先看点Nosql数据库的设计理念有助于更好的理解api设计。
一般来说,如果决定爬某个大v,第一步先试获取该用户的基本信息,中间会包含一条最新的status,记下其中的id号作为基准,命名为baseId。
接口中最重要的两个参数:
since_id:返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0。
max_id:返回ID小于或等于max_id的微博,默认为0。
出于各种原因,获取statuses的接口,固定为按id降序排列(scan_index_forward=false),即最新的statuses返回在前。假设该微博第一天上线,就一个用户,发了一百条,id是1到100。而你在该用户发了第50条的时候开始运行的爬虫,即baseId=50。
假设按每次获取10条历史数据递归,先将max_id设为baseId,获取该用户id为41-50的微博,再将max_id设为41重复循环,直到返回微博数量为1或0。这步没有问题。
获取用户最新的statuses就有些蛋疼了,since_id=50,同样获取10条数据,返回的并不是id值为51-60的数据,而是100-91的数据。简单说就是你没法从since_id逐步更新到用户当前status,而是得一口气从用户当前status更新到上次爬虫运行时得到的最后一条status。假设你的爬虫一个月才运行一次,该用户在这期间发了2300条微博,根据限制你只能更新2000条,这其中最老的300条在你的系统内就会出现“断档”。
最后一条,以上只针对公开的api,stackoverflow上twitter
API可以申请权限突破数量限制和更改排序机制,微博也应该有类似机制。
2/friendships/followers
friendships/followers
获取用户的粉丝列表
URL
>
以上就是关于如何通过url获取新浪微博手机端数据全部的内容,包括:如何通过url获取新浪微博手机端数据、新浪微博数据抓取方法有哪些、抓取新浪微博数据进行分析,学习使用,网上说得申请appkey,没有网站,怎么去新浪的开放平台申请等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)