微博爬虫中级篇——商业接口(无须cookie)

一、前言

博客,这东西写起来是真的麻烦。博主语文特不好,什么语句、语义不通之类的,是常有的。请务必不要在意。如果,有什么问题可以在底下留言,或者私信我索要联系方式。另外,博主常年混迹java吧,在那肯定能找到我,贴吧ID:ZSsanguosha 。 转载,保留“全尸”就可以了,标明出处和作者,,其余随意。以上

博主邮箱的绑定了数据库预警系统,一响就代表采集系统崩了,已经响出阴影了。所以别问我要邮箱。

最后,本篇讲的是微博爬虫的中级实现,适用范围:中等规模使用,生产使用

二、介绍

微博在反爬虫的路上越走越远,反爬机制是一直在更新,如果嫌维护太累的话。可以考虑下正规渠道。微博商业接口(API)。官网首页:http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI

三、例子

批量获取指定微博的转发数评论数:http://open.weibo.com/wiki/2/statuses/count

以该接口举例

这是伪代码,大致意思是。用httpclient发送post请求,稍微修改下返回值。即可。 token,怎么获取,,自己去官网找教程

/**
	 * @Title: getCount 
	 * @Description: TODO(获取单条微博的评论、转发、点赞数) 
	 * @param mids 由多条mid组成(中间用“,”分割)
	 * @return
	 *     List<JSONObject> 返回类型
	 */
public List<JSONObject> getCount(String mids)
{
	List<JSONObject> list = new ArrayList<>();
		
	String url = "https://api.weibo.com/2/statuses/count.json";
	List<PostParameter> nameValuePair = new ArrayList<PostParameter>();
	nameValuePair.add(new PostParameter("access_token", token));
	nameValuePair.add(new PostParameter("ids", mids));
	
	PostParameter[] pp = nameValuePair.toArray(new PostParameter[nameValuePair.size()]);
	try {
		Response str = client.get(url, pp, token);
		String[] source = str.getResponseAsString()
                                .replace("[", "").replace("]", "").split("},");
		for (int i=0;i<source.length;i++){
			String temp = source[i]+"}";
			JSONObject json = new JSONObject(temp);
			list.add(json);
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	return list;
}

其余api,都是这样,官网说明已经很详细了,博主就不赘述了。

四、不足之处

1、频次有限制,无法大规模的使用

2、有时会出现不满足需求的情况(少字段)

五、总结

这篇没必要说太多,所有注意事项,都在官网写着。如果你们对微博数据方面。没有太大量级要求或者特殊需求。都可以用这个方法。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值