微博API如何爬取其他未授权用户的微博/如何爬取指定用户发布的微博
微博API怎么爬取其他未授权用户的微博/怎么爬取指定用户发布的微博
获取某个用户最新发表的微博列表:http://open.weibo.com/wiki/2/statuses/user_timeline 原接口已经被封。许多人都在问怎么获取指定用户的微博,于是写这篇Blog。
本文由@The_Third_Wave(Blog地址:http://blog.****.net/zhanh1218)原创。不定期更新,有错误请指正。
Sina微博关注:@The_Third_Wave
如果这篇博文对您有帮助,为了好的网络环境,不建议转载,建议收藏!如果您一定要转载,请带上后缀和本文地址。
【获取某个用户最新发表的微博列表】接口注意事项说明如下:
- 获取自己的微博,参数uid与screen_name可以不填,则自动获取当前登录用户的微博;
- 指定获取他人的微博,参数uid与screen_name二者必选其一,且只能选其一;
- 接口升级后:uid与screen_name只能为当前授权用户,第三方微博类客户端不受影响;
- 读取当前授权用户所有关注人最新微博列表,请使用:获取当前授权用户及其所关注用户的最新微博接口(statuses/home_timeline);
- 此接口最多只返回最新的2000条数据;
解决方法
但是第四条说明给了我们一条活路,获取当前授权用户及其所关注用户的最新微博接口!也就是说可以创建一个账号,里面不发布微博,只关注我们需要爬取的用户!那么就解决了!
获取当前登录用户及其所关注用户的最新微博:http://open.weibo.com/wiki/2/statuses/home_timeline
而且没有返回条数限制!
代码示例为:
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=REDIRECT_URL) CALLBACK_URL = client.get_authorize_url() print CALLBACK_URL API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 此为我自己写的接口,自动获取code的值 code = API.get_code_Security() requests = client.request_access_token(code) access_token = requests.access_token # 新浪返回的token,类似abc123xyz456 expires_in = requests.expires_in # 设置得到的access_token client.set_access_token(access_token, expires_in) statuses = client.statuses__home_timeline() # 获取数据
API = SinaAPI(CALLBACK_URL, APP_KEY, REDIRECT_URL, user, passwd) # 此为我自己写的接口,自动获取code的值。下载地址为:(@The_Third_Wave)Python:新浪微博API的使用及安全的模拟登陆自动获取code值:http://blog.****.net/zhanh1218/article/details/26383469
有新方法会不定期更新。
打印信息:
str_sta = json.dumps(statuses) text_list = re.findall(r"(?<=\"text\": \").*?(?=\",)", str_sta) for text in text_list: weibo = eval("u"+"'"+text+"'") print weibo
本文由@The_Third_Wave(Blog地址:http://blog.****.net/zhanh1218)原创。不定期更新,有错误请指正。
Sina微博关注:@The_Third_Wave
如果这篇博文对您有帮助,为了好的网络环境,不建议转载,建议收藏!如果您一定要转载,请带上后缀和本文地址。