微博API怎么爬取其它未授权用户的微博/怎么爬取指定用户公布的微博

时间:2024-02-21 20:11:26

获取某个用户最新发表的微博列表:http://open.weibo.com/wiki/2/statuses/user_timeline 原接口已经被封。很多人都在问怎么获取指定用户的微博,于是写这篇Blog。

本文由@The_Third_Wave(Blog地址:http://blog.csdn.net/zhanh1218)原创。不定期更新,有错误请指正。

Sina微博关注:@The_Third_Wave 

假设这篇博文对您有帮助,为了好的网络环境,不建议转载,建议收藏!假设您一定要转载,请带上后缀和本文地址。

【获取某个用户最新发表的微博列表】接口注意事项说明例如以下:

  1. 获取自己的微博,參数uid与screen_name能够不填,则自己主动获取当前登录用户的微博;
  2. 指定获取他人的微博,參数uid与screen_name二者必选其一,且仅仅能选其一;
  3. 接口升级后:uid与screen_name仅仅能为当前授权用户,第三方微博类client不受影响;
  4. 读取当前授权用户全部关注人最新微博列表,请使用:获取当前授权用户及其所关注用户的最新微博接口(statuses/home_timeline);
  5. 此接口最多仅仅返回最新的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_WavePython:新浪微博API的使用及安全的模拟登陆自己主动获取code值http://blog.csdn.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.csdn.net/zhanh1218)原创。不定期更新,有错误请指正。

Sina微博关注:@The_Third_Wave 

假设这篇博文对您有帮助,为了好的网络环境,不建议转载,建议收藏!假设您一定要转载,请带上后缀和本文地址。