Android Bilibili网站数据获取一 题目分类获取

我使用的是Jsoup框架来解析框架。说实话B站的数据真多,我想哭。

首先我们要确定获取的数据在网站的哪个位置
这里写图片描述

我们打开开发者模式,看网站源码,确定我们获取网站数据对应源码的位置。
这里写图片描述
这些就是我们需要获取数据的位置,想要获取数据首先得让我们的光标调到这个位置,因为只是用select搜索不到,应该是标签太多了。
先上代码

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv = (TextView)findViewById(R.id.tv);
        tv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new Thread(new Task()).start();
            }
        });

    }

    class Task implements Runnable {
        @Override
        public void run() {
            String url = "https://www.bilibili.com/";
            Connection conn = Jsoup.connect(url);
            // 修改http包中的header,伪装成浏览器进行抓取
            conn.header("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:32.0) Gecko/    20100101 Firefox/32.0");
            Document doc = null;
            try {
                doc = conn.get();
            } catch (IOException e) {
                e.printStackTrace();
            }

            Elements elementsA = doc.getElementsByClass("bili-wrapper");
            String a = elementsA.first().text();

            Document documentA = Jsoup.parse(elementsA.toString());
            Elements elementsB = documentA.getElementsByClass("nav-menu");

            Document documentB = Jsoup.parse(elementsB.toString());
            Elements elementsC = documentB.getElementsByClass("nav-item");

            for(Element element : elementsC) {
                String companyName = element.text();
                Log.v("test",companyName);

            }

            //String b = elementsB.first().text();
            //Log.v("test",b);
        }
    }
}

效果如下
09-28 21:55:08.092 6905-7068/zzw.myapplication V/test: 首页
09-28 21:55:08.092 6905-7068/zzw.myapplication V/test: – 动画 MAD·AMV MMD·3D 短片·手书·配音 综合
09-28 21:55:08.092 6905-7068/zzw.myapplication V/test: – 番剧 连载动画 完结动画 资讯 官方延伸 新番时间表 番剧索引
09-28 21:55:08.092 6905-7068/zzw.myapplication V/test: – 国创 国产动画 国产原创相关 布袋戏 资讯 新番时间表 国产动画索引
09-28 21:55:08.092 6905-7068/zzw.myapplication V/test: – 音乐 原创音乐 翻唱 VOCALOID·UTAU 演奏 三次元音乐 OP/ED/OST 音乐选集
09-28 21:55:08.092 6905-7068/zzw.myapplication V/test: – 舞蹈 宅舞 三次元舞蹈 舞蹈教程
09-28 21:55:08.092 6905-7068/zzw.myapplication V/test: – 游戏 单机游戏 电子竞技 手机游戏 网络游戏 桌游棋牌 GMV 音游 Mugen
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: – 科技 纪录片 趣味科普人文 野生技术协会 演讲·公开课 星海 数码 机械 汽车
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: – 生活 搞笑 日常 美食圈 动物圈 手工 绘画 ASMR 运动 其他
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: – 鬼畜 鬼畜调教 音MAD 人力VOCALOID 教程演示
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: – 时尚 美妆 服饰 健身 资讯
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: – 广告
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: – 娱乐 综艺 明星 Korea相关
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: – 影视 电影 电视剧
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: 专栏
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: 广场 会员购 活动中心 游戏中心 新闻中心 画友 芒果TV
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: 直播 推荐主播 生活娱乐 绘画专区 唱见舞见 御宅文化 单机联机 网络游戏 电子竞技 手游直播
09-28 21:55:08.102 6905-7068/zzw.myapplication V/test: 小黑屋

这个可以看出我在不断的一层一层的接近目标,记住如果是div多层嵌套,这个方法就不行了,因为用class名搜索不到,原因我不清楚,但是下一次我在说这个情况如何解决。

基于大数据技术的B站网站数据分析的设计与实现,可以分为以下几个步骤: 1. 数据采集:B站作为一个视频社交平台,拥有大量的用户、视频、弹幕等数据数据采集可以通过爬虫等技术手段收集B站的相关数据,并将其存储到数据仓库中。 2. 数据预处理:数据预处理是数据分析的重要步骤之一,包括数据清洗、数据变换、数据缺失值处理等。通过数据预处理可以使数据更加准确、完整和可靠,为后续的数据分析提供更好的数据基础。 3. 数据存储:数据存储是数据分析过程中非常重要的一环,需要选择适合的数据存储技术。常见的数据存储技术包括Hadoop、Hive、Hbase、MySQL等。通过合理的数据存储方式,可以为后续的数据分析提供更好的数据支持。 4. 数据分析:数据分析是基于大数据技术的B站网站数据分析的核心环节,包括数据挖掘、机器学习、统计分析等。通过对B站网站的用户行为、视频内容、社交网络等数据进行分析,可以洞察用户的需求和行为,为B站提供更好的运营策略和商业模式。 5. 可视化展示:数据分析的结果需要以可视化的方式呈现出来,以便更好地向用户展示数据分析的结果。常见的数据可视化工具包括Tableau、PowerBI、Echarts等。 以上是基于大数据技术的B站网站数据分析的设计与实现的大致步骤,其中每一个环节都需要仔细考虑和设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值