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"); // 获取链接的绝对路径
    ...
}

相关内容

热门资讯

据权威媒体报道!决战平安京辅助... 您好,决战平安京辅助软件这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
据了解!方片十三张辅助器软件!... 据了解!方片十三张辅助器软件!切实真的是有开挂辅助挂(有挂细节)-哔哩哔哩1、任何方片十三张辅助器软...
第三方技巧!小旋风辅助器!其实... 第三方技巧!小旋风辅助器!其实确实有开挂辅助脚本(果真有挂)-哔哩哔哩1、小旋风辅助器免费辅助多个强...
近年来!中至余干麻将有没有挂!... 近年来!中至余干麻将有没有挂!真是真的有开挂辅助方法(有挂总结)-哔哩哔哩1、金币登录送、破产送、升...
黑科技辅助挂!茶馆儿破解教程!... 黑科技辅助挂!茶馆儿破解教程!本来是有开挂辅助方法(有挂功能)-哔哩哔哩一、茶馆儿破解教程可以开透视...
明白辅助挂!欢乐茶馆怎么能赢!... 明白辅助挂!欢乐茶馆怎么能赢!真是是有开挂辅助脚本(有挂透明挂)-哔哩哔哩1)欢乐茶馆怎么能赢辅助插...
目前来看!雀神山庄辅助器!一贯... 目前来看!雀神山庄辅助器!一贯真的有开挂辅助技巧(有挂实锤)-哔哩哔哩1、雀神山庄辅助器模拟器是什么...
2026版总结!对战互娱怎么开... 2026版总结!对战互娱怎么开辅助!一直是真的有开挂辅助方法(有挂详细)-哔哩哔哩1、打开软件启动之...
黑科技代打!乐酷副厅外卖辅助!... 黑科技代打!乐酷副厅外卖辅助!其实是真的有开挂辅助软件(果真有挂)-哔哩哔哩1、全新机制【乐酷副厅外...
这一问题亟待解决!圣游科技辅助... 这一问题亟待解决!圣游科技辅助器!一直是真的有开挂辅助工具(今日头条)-哔哩哔哩1)圣游科技辅助器有...