用WebCollector 2.x爬取新浪微博(无需手动获取cookie)
来源:程序员人生 发布时间:2015-01-06 08:16:42 阅读次数:3791次
用WebCollector 2.x 配合另外一个项目WeiboHelper,就能够直接爬取新浪微博的数据(无需手动获得cookie)
1.导入WebCollector 2.x和WeiboHelper的所有jar包
两个项目的地址:http://git.oschina.net/webcollector/WebCollector
http://git.oschina.net/webcollector/WeiboHelper
2.示例代码:
package cn.edu.hfut.dmic.webcollector.weiboapi;
import cn.edu.hfut.dmic.webcollector.crawler.DeepCrawler;
import cn.edu.hfut.dmic.webcollector.model.Links;
import cn.edu.hfut.dmic.webcollector.model.Page;
import cn.edu.hfut.dmic.webcollector.net.HttpRequesterImpl;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
/**
*
* @author hu
*/
public class WeiboCrawler extends DeepCrawler{
public WeiboCrawler(String crawlPath) throws Exception {
super(crawlPath);
/*获得新浪微博的cookie,账号密码以明文情势传输,请使用小号*/
String cookie=WeiboCN.getSinaCookie("微博用户名", "微博密码");
HttpRequesterImpl myRequester=(HttpRequesterImpl) this.getHttpRequester();
myRequester.setCookie(cookie);
}
@Override
public Links visitAndGetNextLinks(Page page) {
/*抽取微博*/
Elements weibos=page.getDoc().select("div.c");
for(Element weibo:weibos){
System.out.println(weibo.text());
}
/*如果要爬取评论,这里可以抽取评论页面的URL,返回*/
return null;
}
public static void main(String[] args) throws Exception{
WeiboCrawler crawler=new WeiboCrawler("/home/hu/data/weibo");
crawler.setThreads(3);
/*对某人微博前5页进行爬取*/
for(int i=0;i<5;i++){
crawler.addSeed("http://weibo.cn/zhouhongyi?vt=4&page="+i);
}
crawler.start(1);
}
}
运行结果:
2015年来了,恭祝微博朋友和360用户新年万事如意!顺便向诸位汇报1下2014年360获得的科技进步:截止至2014年12月31日,360在过去的1年里专利申请总数到达1999件,其中国内发明专利申请:1570件;外观和实用新型专利:212件;海外专利申请:217件,积累申请专利总数已超4千件。 赞[1422] 转发[221] 评论[446] 收藏 01月01日 00:09 来自1加手机 不将就
转发了 徐付群 的微博:【山东省民政部门许诺:负伤致残原国民党抗战老兵可与8路军享同等待遇】 明确对生活在大陆农村的和城镇无工作单位且生活困难的原国民党抗战老兵,给予生活困难救助,救助标准可参照抗日时期参军的在乡复员军人履行,所需资金通过各地自筹、社会捐赠等渠道解决。 http://t.cn/RZyVNr3 原图 赞[373] 原文转发[2246] 原文评论[399] 转发理由:山东民政部做的不错,赞!@孙春龙 #寻觅你身旁的抗战老兵# 赞[582] 转发[274] 评论[303] 收藏 2014⑴2⑶1 11:13:02 来自1加手机 不将就
转发了 360杀毒 的微博:2014年最后1天,小编的粉丝还不足10万。愁啊。。咋办?有了,小编刚弄到5台360儿童手表,介个当抽奖最好了。看这区区10万粉丝,中奖的几率还是很大滴。这样,只要①关注我的微博,②转发这条微博,③@ 1个好友,就有机会中奖!转起来吧,阿弥陀佛,转发的发大财!不转的发小财! [组图共2张] 原图 赞[94] 原文转发[2531] 原文评论[1076] 转发理由:少不了我这个拉低中奖率专业户,并祝大家新年发财 @360安全卫士 赞[313] 转发[464] 评论[656] 收藏 2014⑴2⑶1 14:51:13 来自360安全阅读器
转发了 敖歌 的微博:百度杀毒删不掉。@周鸿
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
------分隔线----------------------------
------分隔线----------------------------