用WebCollector 2.x爬取新浪微博(無需手動獲取cookie)
來源:程序員人生 發布時間:2015-01-06 08:16:42 閱讀次數:3940次
用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安全閱讀器
轉發了 敖歌 的微博:百度殺毒刪不掉。@周鴻
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
------分隔線----------------------------
------分隔線----------------------------