Android WebView 获取网页数据(html)

Android中解析html网页 本文主要记录通过网页解析得到自己想要的数据,也就是一个简单的爬虫。将使用第三方库jsoup实现,通过第三方库,能够快速方便的解析html。在开始之前,需要具备以下能力: 首先,需要对网页编程有一点了解,知道一个页面的结构,标签的含义,知道html网页其实是一种xml格式的文件。如果对这些都了解的话,就可以很方便的进行网页解析了,如果不太熟悉,建议先了解一下网页编程。 然后,在使用第三方库之前,最好是 阅读详情

1. activity_main.layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    tools:context=".MainActivity" >  
  
    <WebView  
        android:id="@+id/webView"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"  
        android:layout_centerHorizontal="true"  
        android:layout_centerVertical="true"  
         />  
  
</RelativeLayout>  


2. MainActivity.java


package com.example.webviewhtml;

import android.app.Activity;  
import android.graphics.Bitmap;  
import android.os.Bundle;  
import android.webkit.JavascriptInterface;
import android.webkit.WebView;  
import android.webkit.WebViewClient;  
/** 
 * Dmeo说明: 
 * 当WebView加载网页时获取该网页中的内容. 
 * 参考资料: 
 * http://www.maxters.net/2012/02/android-webview-get-html-source/ 
 */  
public class MainActivity extends Activity {  
   private WebView mWebView;  
     
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        init();  
    }  
    private void init(){  
        mWebView=(WebView) findViewById(R.id.webView);  
        mWebView.getSettings().setJavaScriptEnabled(true);  
        mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");  
        mWebView.getSettings().setSupportZoom(true);  
        mWebView.getSettings().setDomStorageEnabled(true);  
        mWebView.getSettings().setPluginsEnabled(true);  
        mWebView.requestFocus();  
        mWebView.getSettings().setUseWideViewPort(true);  
        mWebView.getSettings().setLoadWithOverviewMode(true);  
        mWebView.getSettings().setSupportZoom(true);  
        mWebView.getSettings().setBuiltInZoomControls(true);  
        mWebView.loadUrl("http://www.baidu.com");  
        mWebView.setWebViewClient(new WebViewClient() {  
            @Override  
            public void onPageStarted(WebView view, String url, Bitmap favicon) {  
                super.onPageStarted(view, url, favicon);  
            }  
  
            @Override  
            public boolean shouldOverrideUrlLoading(WebView view, String url) {  
                view.loadUrl(url);  
                return true;  
            }  
  
            @Override  
            public void onPageFinished(WebView view, String url) {  
                super.onPageFinished(view, url);  
                view.loadUrl("javascript:window.local_obj.showSource('<head>'+"  
                        + "document.getElementsByTagName('html')[0].innerHTML+'</head>');");  
  
            }  
  
            @Override  
            public void onReceivedError(WebView view, int errorCode,  
                    String description, String failingUrl) {  
                super.onReceivedError(view, errorCode, description, failingUrl);  
            }  
  
        });  
    }  
    
    /**
     *  android sdk api >= 17 时需要加@JavascriptInterface
     * @author fei
     *
     */
    final class InJavaScriptLocalObj {  
    	@JavascriptInterface
        public void showSource(String html) {  
            System.out.println("====>html="+html);  
        }  
    }  
}  


3. 在AndroidManifest.xml

增加权限:
<uses-permission android:name="android.permission.INTERNET" />

PLC框架-1.3- 汇川PN伺服(3号报文) 本文以汇川IS620F伺服为例,详细介绍了FB_Servo_ToAxis功能块的应用方法。该功能块封装了MC_Home等轴控指令,实现使能、定位、点动、速度模式及回零等功能,支持转矩限制与显示,并具备行程统计和HMI单位自动切换特性。文章从硬件配置(PN网络连接、报文选择)、参数设置(控制模式、电子齿轮比),到软件实现(功能块调用、手动/自动控制逻辑)进行了系统说明,重点展示了绝对/相对定位、速度模式等典型应用场景的程序编写方法,为汇川伺服在Profinet网络下的工程应用提供了完整解决方案。 阅读详情

相关推荐

保姆级教程:2025新版JavPlayer 3.01整合修复版安装配置全流程(N卡/A卡/CPU通用)

本文提供2025新版JavPlayer 3.01整合修复版的保姆级安装配置教程,涵盖N卡、A卡和CPU环境。详细讲解硬件要求、分步安装流程、显卡优化配置及超分辨率模型选择,帮助用户高效完成视频修复任务。

weixin_42665255的博客 1885

android webview 获取网页内容,在WebView中获取网页中的内容

原理:重写WebViewClient的onPageFinished方法,在onPageFinished中加载一段js代码,js代码再调用本地方法用下面的方法可以获取网页的html源码importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.os.Bundle;importandroid.util.Log;i...

weixin_39996478的博客 2361

FPGA矩阵键盘计算器Verilog实现与Quartus仿真全流程解析

本文详细解析了基于FPGA和Verilog的矩阵键盘计算器实现全流程,包括矩阵键盘扫描、状态机设计、算术运算逻辑及数码管显示驱动。通过Quartus仿真与Testbench测试,确保设计稳定性与准确性,适合数字逻辑设计初学者学习FPGA开发与硬件描述语言应用。

chair的专栏 742

Android webview数据获取 webview抓取

总结下 Android下 webview的数据获取、抓取。 先说总结的情况 方法一:给webview setWebViewClient,然后重写shouldInterceptRequest,获取请求参数,自己发起请求,返回WebResourceResponse。 方法二:WebViewClient 的onPageFinished 方法里面注入js,来获取html 如果是自己应用很简单,如果是其他APP,就是找Hook点,拿到webview,找到设置的WebViewClient 就可以了,剩下的跟自己的A

Gabriel的专栏 5209

从配置文件加载顺序揭秘:为什么你的logback.xml读不到application.yml?

本文深入解析了Spring Boot中logback.xml无法读取application.yml配置的原因,揭示了Spring Boot配置加载机制与日志系统初始化的时序问题。通过对比logback.xml与logback-spring.xml的差异,提供了使用springProperty标签和系统属性传递等解决方案,帮助开发者有效解决日志配置问题。

weixin_29214335的博客 364

多智能体强化学习中的Trust Region技术:HATRPO与HAPPO深度解析

本文深度解析多智能体强化学习中的Trust Region技术,重点探讨HATRPO(异质智能体信任区域策略优化)与HAPPO(异质智能体近端策略优化)两种先进算法。通过数学架构与工程实现细节,揭示其在解决联合策略空间爆炸、信用分配等挑战中的优势,并分享实际部署中的优化技巧与前沿进展。

weixin_29072299的博客 191

Android从WebView中获取html,得到页面显示的文本

private void initView() { WebView mWebView = findViewById(R.id.webview); mWebView.loadUrl("file:///android_asset/book/GUID-0B7E066B-D444-4C7C-918F-339F9D7B5319.html"); //使webview支持javascr...

vida990717的博客 3098

【CAD】【手把手带你写一个DXF&JAVA解析框架】02——整理DXF元数据实体类,涵盖重要属性与对照组码

本文系统梳理了DXF文件解析中的核心元数据类,重点分析了Tables段(图层、块记录)、Blocks段和Entities段的关键数据结构。通过详细的组码说明和对照代码实现,阐述了图层定义(DXFLayer)、块记录(DXFBlockRecord)、应用程序标识(DXFAppId)等表对象的属性构成;同时解析了直线(DXFLine)、多段线(DXFLwPolyLine)、圆弧(DXFArc)、文字(DXFText)等实体类的几何特征与属性定义。文章还构建了顶点(Vertex)、基类(DXFEntity、DXF

Wonder ZH 268

android 开发之webview解析html,js数据交互

本章是看别人的博客所写不是自己原创

li851665700的专栏 1255

极智嘉嵌入式面试题及参考答案

IIC(Inter-Integrated Circuit)即集成电路总线,是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它仅使用两根线,即串行数据线 SDA 和串行时钟线 SCL,就能实现多个设备之间的通信,具有简单、高效、占用资源少等优点,广泛应用于各种嵌入式系统中。

大模型大数据攻城狮的专栏 922

GEE数据融合——Landsat (collection 2,level 2 )4、5、7、8、9长时间序列影像数据融合和视频导出分析

长时间序列影像数据融合是指将Landsat影像数据集合2级2(Level 2)中的4、5、7、8和9这五个卫星的数据进行融合。具体来说,这包括将同一地点的多个卫星影像数据进行处理和整合,以产生一个单一的、具有更高质量的影像产品。在长时间序列影像数据融合中,首先需要对不同卫星的影像数据进行校正,以消除不同卫星之间的光谱差异、辐射度问题和几何纠正误差等。然后,通过使用融合算法,将多个卫星的影像数据进行组合,以生成一张全新的、高质量的合成影像。

此星光明博客 1735

android webview流程,Android-通过WebView获取html内容

前言有时候我们可能需要做一些模拟操作,比如爬虫,一般我们会直接采用HTTP请求实现扒取网页内容,不过,我们可以使用WebView来实现。如何实现WebView初始化,我们为其设置参数,为其设置嵌入JavaScript代码的Java对象。this.getSettings().setJavaScriptEnabled(true);this.addJavascriptInterface(new InJa...

weixin_35693055的博客 1033

SOC、SOH、OCV

1)放电实验法的测量SOH结果最为准确,但是深度放电会对影响电池的寿命;2)电阻折算法仅将电阻作为评价SOH的依据,但电池老化时电阻的变化范围较小,因此该方法的误差较大;3)电阻折算法需要对电池进行大量的实验,绘制成Map图,但是该方法有一定的局限性,针对不同的电池需要绘制不同的Map图;4)阻抗分析法是目前最为前沿的方法,可以根据阻抗谱较为直观的分析SOH的变化,但是该方法需要的成本较高,每台设备约为5万美元。

m0_61973119的博客 2万+

android webview 网页,Android WebView 获取网页数据(html)

1. activity_main.layoutxmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity">android:id="@+id/webView"a...

weixin_42134878的博客 557

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android通过id获取view,android webview获取html代码和根据id获取value实例

1 前言最近做一个项目,需要webview获取网页中input的内容,把知识整理一下,做个记录,也希望对大家有所帮助。2 获取html内容2.1 初始化webviewwebview.getSettings().setJavaScriptEnabled(true);webview.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj...

weixin_39753211的博客 486

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android webview获取表单提交,Android中获取网页表单中的数据实现思路及代码

MainActivity如下:复制代码 代码如下:package cn.testjavascript;import java.util.StringTokenizer;import android.os.Bundle;import android.webkit.WebView;import android.app.Activity;/*** Demo描述:* 在Android中获取网页里表单中的数...

weixin_27028523的博客 410

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

安卓获取webview加载的内容

在页面加载webView,进行初始化设置@SuppressLint("SetJavaScriptEnabled")private void initWebView() {    webView.getSettings().setJavaScriptEnabled(true);    webView.addJavascriptInterface(new InJavaScriptLocalObj(),...

weixin_38839005的博客 3782

android webView 获取网页数据

public class WebViewActivity extends Activity { Button bt; WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); webView = new We

GG之家 3123

Android通过WebView获取解析html内容

在Android开发过程中,我们可能需要做一些模拟操作,可能需要获取HTML页面的一些信息,此时就需要借助重写WebViewClient的onPageFinished方法,在onPageFinished中加载一段js代码,js代码再调用本地方法

晓楠博客 2万+

uniapp使用webview打开自定义的动态网页

在uniapp的安卓端,跳转银联支付网页操作,每个用户参数都不一致,需要请求后端实时生成。

weixin_44900014的博客 2699

WebView获取网页代码并截取所需信息的三种方式

话不多说,直接步入正题.基本设置:webView.getSettings().setJavaScriptEnabled(true);方式一:截取网页内容,解析Step1.webView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");Step2. 在 WebViewActivity 中,创建这个内部类.final...

Phosphophyllite的博客 4068

android 表单提交 后台取值,Android中获取网页表单中的数据实现思路及代码

MainActivity如下:package cn.testjavascript;import java.util.StringTokenizer;import android.os.Bundle;import android.webkit.WebView;import android.app.Activity;/*** Demo描述:* 在Android中获取网页里表单中的数据*/public ...

weixin_42315569的博客 308

android webview post 参数,Android Webview POST

I am trying to accomplish something quite simple, yet I have found no good documentation on this. I have a webView, and I need to load a page in it that requires POST data. Seems like a simple process...

weixin_33443597的博客 243
上一篇: HTTP POST GET 本质区别详解
下一篇: Android WebView 与HttpClient 共用本地cookie问题
hellohaifei
博客等级 码龄14年 20粉丝 51原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值