Android-用jsoup解析Webview上的网站
创始人
2024-08-19 23:00:39
0
  1. 添加 jsoup 依赖到 build.gradle 文件中:
dependencies {
    implementation 'org.jsoup:jsoup:1.14.2'
}
  1. 为 WebView 设置 WebChromeClient,使其能够在网页加载完成后执行 js:
WebView webview = findViewById(R.id.webview);
webview.setWebChromeClient(new WebChromeClient() {
    @Override
    public void onProgressChanged(WebView view, int newProgress) {
        super.onProgressChanged(view, newProgress);
        if (newProgress == 100) { // 网页加载完成
            view.loadUrl("javascript:window.android.onHtmlLoaded(document.getElementsByTagName('html')[0].outerHTML);"); // 执行 js 并传递获取到的 html 字符串给 Android 端
        }
    }
});
  1. 在 js 中将获取到的 html 字符串传递给 Android 端:
window.android.onHtmlLoaded(document.getElementsByTagName('html')[0].outerHTML);
  1. 在 Android 端实现 JsInterface 接口,接收 js 传递过来的 html 字符串,并使用 jsoup 进行解析:
// 实现 JsInterface 接口
class MyJavascriptInterface {
    @JavascriptInterface
    public void onHtmlLoaded(String html) {
        Document doc = Jsoup.parse(html); // 使用 jsoup 解析 html
        Elements links = doc.select("a[href]"); // 获取所有带 href 属性的链接
        ...
    }
}

// 为 WebView 添加 JsInterface
webview.addJavascriptInterface(new MyJavascriptInterface(), "android");
  1. 在 onHtmlLoaded 方法中使用 jsoup 解析 html,并获取需要的内容。例如获取所有带 href 属性的链接:
Document doc = Jsoup.parse(html); // 使用 jsoup 解析 html
Elements links = doc.select("a[href]"); // 获取所有带 href 属性的链接
for (Element link : links) {
    String url = link.attr("abs:href"); // 获取链接的绝对路径
    ...
}

相关内容

热门资讯

一分钟带你了解!微信小程序透视... 一分钟带你了解!微信小程序透视挂(透视挂)详细说明外挂开挂辅助下载(原来真的是有挂) 【无需打开直接...
第二分钟带你详情!填大坑游戏辅... 第二分钟带你详情!填大坑游戏辅助器,新畅游互娱辅助,技巧教程(有挂教学)-哔哩哔哩您好:填大坑游戏辅...
大神推荐"闲逸透视a... 大神推荐"闲逸透视app下载安装"开挂(透视)辅助安装(一贯是有挂的)-哔哩哔哩;1、超多福利:超高...
两分钟带你了解!边锋小程序辅助... 两分钟带你了解!边锋小程序辅助免费(辅助挂)最新技巧外挂开挂辅助脚本(原来是有挂)您好:边锋小程序辅...
九分钟带你了解!蜀山四川辅助器... 九分钟带你了解!蜀山四川辅助器下载渠道有哪些,朱雀开心罗松开挂,透牌教程(有挂分析)-哔哩哔哩;1、...
透视讲解"至臻辅助&... 透视讲解"至臻辅助"开挂(透视)辅助神器(一贯真的有挂)-哔哩哔哩;AI辅助机器人普及解说快速成为一...
3分钟带你了解!钱柜麻将辅助器... >>您好:钱柜麻将辅助器确实是有挂的,很多玩家在这款钱柜麻将辅助器游戏中打牌都会发现很多用户的牌特别...
第1分钟带你科普!中至余干六副... 第1分钟带你科普!中至余干六副牌有挂吗,科技新星游牛牛辅助,AA德州教程!(真实有挂)-哔哩哔哩 【...
透视免费"边锋干瞪眼... 透视免费"边锋干瞪眼开挂"开挂(透视)辅助下载(一直确实有挂的)-哔哩哔哩;边锋干瞪眼开挂最新版本免...
七分钟带你了解!开心泉州免费辅... 七分钟带你了解!开心泉州免费辅助(透视挂)玩家必看教程外挂开挂辅助脚本(一直真的是有挂) >>您好:...