Android Json 加载html 网页数据
  HvTJUzsxOBtS 2023年11月25日 25 0


####1、功能

抓取网页上的数据

1)这是csdn 播客主页,按F12 显现 html 源码

Android  Json 加载html 网页数据_数据


2)我想抓取 所有 的 博客的标题,和博客的链接网址

//这个是节点<div  下面有很多标签 h4  a  span 
 <div class="article-item-box csdn-tracking-statistics" data-articleid="80242077">
        <h4 class="text-truncate">
        //这个是链接地址
      <a href="" target="_blank">
        <span class="article-type type-4">
            译        </span>
        ububtu 平台 AVS搭建      </a>   //这个是标题
    </h4>

####2、了解html
先了解html ,有助于我们对数据分析
1)html 就类似于我们 Android xml 文件,用来做布局等数据的转换。
2)html 有节点 、 标签 等 构成,这是我们经常使用的
3)我们想找什么样的数据只要找到他所对应的节点、标签。

####3、json 配置
我们需要用到json 帮助我们将html 上的数据转换成 java 各种类型。
1)官网下载
JSOUP下载 2)将 下载的 *.jar 放到 Android studio 项目工程 libs 目录下, 右键点击 选择 “Add As Library”.

####4、功能代码

package com.example.lum.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;

public class MainActivity extends AppCompatActivity {

    private String Tag = "lum  ";
    private String BLOG_URL = "";
     //hello
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

      GetDataThd myThread = new GetDataThd();
      myThread.start();
    }

    private class GetDataThd extends Thread {
        @Override
        public void run() {
            super.run();
            try {
                System.out.println("开始进入线程");
                Document doc = Jsoup.connect(BLOG_URL).get();//通过url获取到网页内容
                
                System.out.println("选择节点");
                Elements elements = doc.getElementsByClass("article-item-box csdn-tracking-statistics");//查找所有class为"link_title"的元素 

                for (Element e : elements) {
                    Elements titles = e.getElementsByTag("h4");//在每一个找到的元素中,查找<h4>标签
                    for (Element title : titles) {
                        //查找 h4 标签下的 a 标签 中的 href 属性
                     String url =   title.select("a").attr("href");//获取标签属性,也就是文章链接
                     //获取 h4 标签的文字
                      String dataText =   title.text();//获取标签的内容,也就是文章标题


                        System.out.println(Tag + url);
                        System.out.println(Tag + dataText);
                    }
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}

log 打印:

Android  Json 加载html 网页数据_Android_02

文章参考:

Android之Jsoup解析Html抓包其他网站数据

1) 使用异步任务加载网络上json数据并加载到ListView中

2) Android网络数据JSON解析使用总结

3) Android中解析html网页

4)Android解析HTML网页数据 第一个方法Jsoup(一)

5、手把手教学 Android用jsoup解析html
https://www.jianshu.com/p/a620a2664f58


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月25日 0

暂无评论

推荐阅读
HvTJUzsxOBtS