Java爬虫新浪微博的帖子

需求分析

  • 最近新型肺炎肆虐寒假在家闲来无事就突发奇想,爬取新浪微博中与肺炎患者自救有关的帖子以texcel形式保存起来做一些分析。
  • 经过一番折腾,最终使用webMagic框架成功爬取了200个微博页面共3263条帖子。
  • 立图为证
    在这里插入图片描述
    在这里插入图片描述

环境搭建

  • 首先创建一个空的maven工程。
  • 在pom.xml文件引入相关依赖
<dependencies>
<!--        读写excel文件-->
        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.15</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.15</version>
        </dependency>
<!--        webmagic-->
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-core</artifactId>
            <version>0.7.3</version>
        </dependency>
        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-extension</artifactId>
            <version>0.7.3</version>
        </dependency>
       <!-- 布隆过滤器-->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>25.1-jre</version>
        </dependency>
    </dependencies>

实现步骤

  • 因为自己爬取的是肺炎患者自助相关帖子,爬虫的入口链接为 https://s.weibo.com/weibo?q=肺炎患者自助&Refer=index&page=1。
  • 我们知道微博必须要登录才能访问,如果直接爬取链接爬到的只是空页面。为了方便,这里直接伪装一个登录态。
  • 首先登录微博,然后在浏览器调试窗口抓取cookie信息。
    在这里插入图片描述
  • 然后将cookie信息添加到请求头中,伪装一个登录态。
Site site = Site.me()
            .setCharset("utf8")   //设置编码
            .setTimeOut(10*1000)  //设置超时时间
            .setRetrySleepTime(3000) //设置重试的间隔时间
            .setRetryTimes(3)  //设置重试的次数
            //添加抓包获取的cookie信息
			.addCookie("s.weibo.com", "ALF","1612149474")
			.addCookie("s.weibo.com", "Apache","8262060252464.451.1580612613221")
			.addCoo
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值