现在的位置: 首页 > 综合 > 正文

用WebCollector爬取新浪微博数据

2017年12月21日 ⁄ 综合 ⁄ 共 2329字 ⁄ 字号 评论关闭

用WebCollector可以轻松爬取新浪微博的数据.

首先需要一个能查看cookie的浏览器插件,推荐使用 firefox浏览器+firebug(插件).

具体步骤:

1.用浏览器打开 http://weibo.cn/pub/   这是新浪微博面对手机用户的一个入口.建议不要使用自己的账号来做爬虫.之所以选择weibo.cn来爬去,是因为这个手机版的限制较少,但是weibo.cn的账号密码都是以明文传输,所以为了防止盗号,建议新申请账号进行爬取.

2.登陆进去后,进入个人微博界面(不是http://weibo.cn/pub/),使用firebug查看网页的cookie,找到cookie中的gsid_CTandWM的属性

记录gsid_CTandWM的值,以后爬虫登陆新浪,全靠这个值.

3.代码:

代码是基于WebCollector的:WebCollector官网

假设我们要爬取周鸿祎的微博信息.周鸿祎的微博主页:http://weibo.cn/u/1708942053(不登陆只能看第一页)

我们爬取前10页.

import cn.edu.hfut.dmic.webcollector.crawler.BreadthCrawler;
import cn.edu.hfut.dmic.webcollector.model.Page;
import cn.edu.hfut.dmic.webcollector.util.Config;
import java.io.IOException;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class WeiboCrawler extends BreadthCrawler {

    public WeiboCrawler() {
        setUseragent("Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0");
        setCookie("gsid_CTandWM=你的gsid_CTandWM;");
    }

    @Override
    public void visit(Page page) {
        Elements divs = page.getDoc().select("div.c");
        for (Element div : divs) {
            System.out.println(div.text());
        }
    }

    public static void main(String[] args) throws IOException, Exception {
        Config.topN = 0;
        WeiboCrawler crawler=new WeiboCrawler();

        for (int i = 1; i <= 10; i++) {
            crawler.addSeed("http://weibo.cn/u/1708942053?page=" + i);
        }
        crawler.addRegex(".*");
        crawler.setThreads(2);
        crawler.start(1);

    }
}

运行结果:

转发了 头条新闻 的微博:【栗战书:夜里12点报送习近平请示早上也能获批示】中央办公厅主任栗战书撰文:习总书记要求我们干工作要“案无积卷、事不过夜”。总书记自己也是这么做的。他的工作作风非常严谨,工作节奏也很快。报送给总书记的请示,不管多晚,即使到了夜里12点,第二天早上都能收到他的批示。http://t.cn/RhEWgY3 赞[1496] 原文转发[2330] 原文评论[133] 转发理由:总书记都如此勤奋,为什么现在我们公司很多干部反而晚上收到信息都不能及时回复了呢?真是惭愧汗颜  赞[515] 转发[856] 评论[821] 收藏 09月29日 22:59 来自一加手机 不将就
转发了 安卓论坛 的微博:科学挖掘:小米手机芯片点该不该点胶?http://t.cn/RhE3Ua0  原图 赞[389] 原文转发[2249] 原文评论[1221] 转发理由:@魅族科技 什么意见呢 //@祝芳浩:客观的说,点胶会提高产品的可靠性,是对用户负责,不点胶可降低成本,是对自己负责,大神系列手机出厂前全部需要点胶。世界一流的手机厂商都采用了点胶工艺,这当然包括苹果。建议雷总好好培养属下的专业知识,专业的人才才能制造出质量可靠的手机。@雷军@余承东  赞[352] 转发[490] 评论[547] 收藏 09月29日 22:13 来自一加手机 不将就
转发了 奥卡姆剃刀 的微博:图为引起争执的原帖及我的转发评论,我认为红框中的表述是错误的,并表达了质疑,类似的质疑我之前表达过太多了,没料到这次得罪了整个信息安全界。有小伙子要跟我赌,却不想下本,以没时间为由告辞了,王思聪先生的点评引发我微博评论爆炸,因此关闭。被很多人认为怂了,我坚持我的看法,重开了评论。  原图 赞[333] 原文转发[821] 原文评论[849] 转发理由:奥总这次可能武断了,黑客配置一个免费wifi,DNS也被劫持,浏览器访问网银页面,域名是真的,页面也很像,其实被导向到钓鱼假网站,输入用户名和密码当然会被立即截取。奥总可能以为用户用https登陆真实银行网站口令会加密。BTW我没有想到精于弓箭的字幕组成员@王思聪 也是潜伏安全专家  赞[238] 转发[540] 评论[426] 收藏 10月03日 17:53 来自一加手机 不将

注意:爬虫频率不宜过高,建议不要使用过多线程数.

如果有疑问,可加WebCollector官方讨论群:

QQ群:250108697 

或者加入官方论坛:

http://www.brieftools.info/bbs/

抱歉!评论已关闭.