android html解析

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

html解析

在这里插入图片描述

package com.example.wangyebiancheng2;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MainActivity extends AppCompatActivity {
 TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView=findViewById(R.id.textView);
    }
    public void zhengzebiaodashi(View v){

        String a="<%@ page language=\"java\" contentType=\"text/html; charset=ISO-8859-1\"\n" +
                "    pageEncoding=\"ISO-8859-1\" import=\"java.sql.*,java.io.*\"%>\n" +
                "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n" +
                "<html>\n" +
                "<head>\n" +
                "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n" +
                "<title> title </title>\n" +
                "</head>\n" +
                "<body>" +
                "<form action=\"libailogintest.jsp\" method=\"post\">\n" +
                "username:<input type=\"text\" name=\"username\" value=\"\"/><br>\n" +
                "\n" +
                "<input type=\"checkbox\" >\n" +
                "<input type=\"button\" value=\"hello\" οnclick=\"javascript:alert('hello');\"/>\n" +
                "<input type=\"submit\" value=\"jianceyemian34\" />\n" +
                "</form>\n" +
                "<label>信息</label>\n" +
                "</body>\n" +
                "</html>";

        int size1 = a.indexOf("<label>")+7;
        int size2 = a.indexOf("</label>");
        String b=a.substring(size1,size2);
        textView.setText(b);

    }
}

在线获取html并解析源码

package com.example.wangluobiancheng;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

    private TextView textView_HTTP;
    Button button_http;
    String a;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView_HTTP = (TextView) findViewById(R.id.TextView_HTTP);
        //Button button_http = (Button) findViewById(R.id.Button_HTTP);
        button_http = (Button) findViewById(R.id.Button_HTTP);
        button_http.setOnClickListener(new OnClickListener() {
            //给button_http按钮设置监听器
            public void onClick(View v) {
                new Thread(new Runnable() {  // 创建一个新线程,用于从网络上获取文件
                    public void run() {
                        send();     //调用send()方法,用于发送用户名、密码到Web服务器
                        //Message m = handler.obtainMessage();    // 获取一个Message
                        //handler.sendMessage(m);      // 发送消息
                    }
                }).start();
            }

        });

    }


    public void send() {
        //String httpUrl = "http://192.168.42.25:8080/***/login.jsp";
        String httpUrl = "http://www.baidu.com";

        String resultData = "";//定义一个resultData用于存储获得的数据
        URL url = null; //定义URL对象
        try {
            url = new URL(httpUrl); //构造一个URL对象时需要使用异常处理
            textView_HTTP.setText("url = new URL(httpUrl);"+url.toString());
        } catch (Exception e) {
            //MalformedURLException e
            textView_HTTP.setText("Sorry,error");//获取到的数据为空时显示
            //System.out.println(e.getMessage());//打印出异常信息
        }

        if (url != null) {//如果URL不为空时
            try {
                //有关网络操作时,需要使用异常处理
                HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); //使用HttpURLConnection打开连接

                InputStreamReader in = new InputStreamReader(urlConn.getInputStream());//得到读取的内容
                BufferedReader buffer = new BufferedReader(in);//为输出创建BufferedReader
                String inputLine = null;
                while (((inputLine = buffer.readLine()) != null)) {
                    // 读取获得的数据
                    resultData += inputLine + "\n"; // 加上"\n"实现换行
                }

                in.close();//关闭InputStreamReader
                urlConn.disconnect(); //关闭HTTP连接
                if (resultData != null) {//如果获取到的数据不为空
                    textView_HTTP.setText(resultData);
                    a=resultData;
                } else {
                    textView_HTTP.setText("Sorry,the content is null");//获取到的数据为空时显示
                }

            } catch (IOException e) {
                textView_HTTP.setText(e.getMessage());
                textView_HTTP.setText(resultData);
                //出现异常时,打印异常信息
            }

        } else {
            textView_HTTP.setText("url is null"); //当url为空时输出
        }
    }
    public void mesg(View v) {
    int size1 = a.indexOf("<title>")+7;
    int size2 = a.indexOf("</title>");
    String b=a.substring(size1,size2);
        textView_HTTP.setText("error"+size1+"d"+size2+b);
       // textView_HTTP.setText(b);
        }
}
        /*extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}*/

如果大量的信息读取需要:android网络数据库编程

Android 使用Jsoup解析HTML 前言本文主要是讲jsoup爬取网页上的数据用法,具体介绍请看: 官方文档 官方文档中文版 开源地址Github 安装as用户可直接依赖implementation org.jsoup:jsoup:1.11.1其他用户请看 https://jsoup.org/download使用下面的html来自干货集中营,就先以这个为例:获取Document对象Document对象可以看成一个一个HTML文档。// 阅读详情

相关推荐

Android中使用Html.fromHtml方法解析HTML内容

然后,我们使用Html.fromHtml方法来解析htmlString,并根据Android设备的版本选择不同的解析模式。本文介绍了如何在Android中使用Html.fromHtml方法来解析HTML内容并将其显示在TextView控件中。接下来,在Java代码中找到对应的TextView控件,并使用Html.fromHtml方法解析HTML内容并将其设置为TextView的文本。最后,我们将解析后的HTML内容设置为TextView的文本,这样就可以在应用程序中显示HTML内容了。

HackWhisper的博客 1966

Android 解析Html格式

的意思是在Html中会有很多的图片,而我需要放的是第一张照片 那就防止他放最后一张照片 参数source 会循环出所有的照片,所以我不让他循环 只加第一张照片。2、获取Html中所有的文字 简单来说就是纯文字 使用正则的方法 相等时就为空。里面 我这是用网络上的图片,如果是本地图片 请看别人写的文章:在这。图文混合 自定义类 直接使用就可以了。1、获取其中的照片放在。

jht2667796626的博客 671

Android中加载本地HTML文件的方法及相关源代码

本文介绍了在Android中加载本地HTML文件的方法,首先需要准备一个本地的HTML文件,并将其放置在合适的位置,然后通过WebView控件加载HTML文件。通过合理使用这些方法,开发者可以在Android应用中展示本地的HTML内容,实现更丰富的功能及用户体验。在某些情况下,我们可能需要在Android应用中加载本地的HTML文件来展示网页内容或实现一些特定的功能。在开始之前,我们需要准备一个本地的HTML文件,并将其放置在Android应用的合适位置。方法来加载本地的HTML文件。

CyberSparkZ的博客 1822

android html标签,Android Html类

Android中的Html类可以把一些html标签转换成Android对应的Spanned,因此我们可以解析服务端返回的Html来显示富文本信息。有两个核心方法fromHtml把html转为span,另一个方法把span转为html。public static Spanned fromHtml(String source, int flags, ImageGetter imageGetter,Ta...

weixin_36338765的博客 1528

Android中的JSoup HTML解析实践指南

JSoup是一个强大的库,最初由Jonathan Hedley在2009年创建,它允许用户通过DOM操作方式解析和操作HTML文档。这个库受到了Apache许可的保护,是开源的,这意味着任何人都可以自由地使用、修改和分发该代码。由于其轻量级、快速以及强大的API,JSoup被广泛应用于各种Java项目中,特别是在Android开发中,用来提取和操作网页数据,甚至进行简单的爬虫开发。在实际开发中,正确处理线程和UI更新机制是非常重要的。最佳实践通常包括:在后台线程中处理耗时任务和数据解析。

weixin_32324637的博客 1050

android解析HTML

此文档为android对HTML的解析 public class _GetWebResoureActivity extends Activity { Document doc; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { load(); } }); } protected void load() { try { doc=Jsoup.parse(new URL("http://www.cnbeta.com"), 5000); } catch (MalformedURLException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } List<Map<String, String>> list = new ArrayList<Map<String, String>>(); Elements es = doc.getElementsByClass("topic"); for (Element e : es) { Map<String, String> map = new HashMap<String, String>(); map.put("title", e.getElementsByTag("a").text()); map.put("href", "http://www.cnbeta.com" + e.getElementsByTag("a").attr("href")); list.add(map); } ListView listView = (ListView) findViewById(R.id.listView1); listView.setAdapter(new SimpleAdapter(this, list, android.R.layout.simple_list_item_2, new String[] { "image","name" }, new int[] { android.R.id.text1,android.R.id.text2 })); }

android解析html文件,HtmlSpanner 使用小结 -- 安卓解析html

如何利用 HtmlSpanner解析 HTML格式 的字符串:1. GitHub 下载HtmlSpanner项目https://github.com/NightWhistler/HtmlSpanner2. 最好是直接放在java目录下在,这样不需要改引用的包路径3. 引入需要的依赖包implementation 'net.sourceforge.htmlcleaner:htmlcleaner:2...

weixin_39946327的博客 1052

AI应用架构师:引领半导体良率AI预测的变革浪潮

在半导体行业这个技术密集、资本密集且竞争异常激烈的领域,良率是决定企业盈利能力的关键指标。每提升1%的良率可能意味着数亿美元的利润增长。然而,随着制程节点不断缩小至3nm、2nm甚至更先进水平,传统的良率管理方法已难以应对日益复杂的制造流程和指数级增长的数据量。本文将深入探讨AI应用架构师如何成为这场变革的核心驱动力,通过设计和实施先进的AI预测系统,将半导体良率预测从传统的"事后分析"转变为"事前预测"和"实时优化"。

AI大模型应用之禅 403

安卓textview解析html,Android TextView解析html调研

效果图Paste_Image.png相关接口public final void setText(CharSequence text)TextView 设置显示内容的接口;public static Spanned fromHtml(String source, ImageGetter imageGetter, TagHandler tagHandler)Html 类中用于解析html资源的接口,s...

weixin_34233539的博客 537

element的el-cascader组件动态加载,以及报错处理问题

Blocked aria-hidden on an element because its descendant retained focus. The focus must not be hidden from assistive technology users. 报错处理

weixin_56527169的博客 1262

基于STM32H750的便携式双通道示波器与信号发生器AFE设计

示波器和信号发生器是电子测量与嵌入式系统调试的基础仪器,其核心在于模拟前端(AFE)对宽动态范围、高精度采样与低失真输出的协同实现。原理上需兼顾输入信号调理(衰减/放大/偏置)、ADC/DAC接口匹配、触发同步及电源完整性设计。技术价值体现在以低成本器件达成±15V输入/±10V输出、16位等效采样精度与85kHz带宽的工程平衡。典型应用场景包括电机驱动波形观测、传感器信号验证、电源环路测试及通信电平分析。本方案聚焦STM32H750平台,深度融合硬件拓扑与片上资源特性,为嵌入式教学与原型开发提供可复现、易

weixin_35755188的博客 107

Android Html解析

在前一篇 Android SpannableString浅析中我们采用html实现了文本处理的效果。当时设置部分的代码如下:private void setText() { String originText = "#重磅消息#近日谷歌放出Android N的第二个开发者预览版(Developer Preview)"; String effect1 = "<font color='

freeCode 2万+

RS485两线制接线实战:从差分信号原理到Modbus避坑指南

本文深入解析RS485两线制接线的核心原理与实战步骤。从差分信号的抗干扰机制出发,详细拆解总线规划、屏蔽层接地、终端电阻安装等关键实操细节,并针对Modbus应用中常见的信号反射、极性接反、共模干扰等问题提供系统化的排查指南与解决方案,助力工程师构建稳定可靠的工业通讯网络。

7up55的博客 734

安卓6.0html解析,HtmlSpanner 使用小结 -- 安卓解析html

如何利用 HtmlSpanner解析 HTML格式 的字符串:1. GitHub 下载HtmlSpanner项目 https://github.com/NightWhistler/HtmlSpanner2. 最好是直接放在java目录下在,这样不需要改引用的包路径3. 引入需要的依赖包implementation 'net.sourceforge.htmlcleaner:htmlcleaner:...

weixin_31608241的博客 323

利用dpabi和restplus提取ROI灰质体积学习笔记

目录前言一、数据准备二、利用dpabi提取ROI灰质体积三、restplus提取ROI灰质体积 前言 我利用SPM/CAT12进行灰质、白质、脑脊液分割之后分别已经得到各自的图像文件,在全脑水平已经做了统计分析。如果还想要进一步进行ROI的统计分析或者与量表等临床资料做相关分析,就需要提取ROI灰质体积。几个月没动过这数据了,突然心血来潮想学一下如何提取ROI灰质体积,以此篇博客记录我的提取ROI灰质体积学习过程。提取ROI灰质体积的方法及软件有许多种,本人尝试了dpabi和restplus。 一、数据准备

weixin_52073820的博客 9222

ABAP链接外围数据库SQL实战案例

这是一个ABAP 直接读取SQL数据库数据的实例,以此种方式可以将SAP与外围的系统做一些集成,比如生产,SAP本身生产这部分是弱项,管不了那么细,很多车间的数据都是在MES系统,如管理上需要则可以将MES的一些数据自动读取过来,结合SAP本身的业务数据,做一些分析是比较方便的。 1、首先在SAP里建立数据库链接:DBCO ,直接增加一条记录,填上数据库的相关信息:IP地址、数据库名、账号SA、密码这些。 2、开发程序,设置成自动运行的计划,固定时间自动读取SQL里的数据,保存到SAP自定义表.

heng0757的专栏 1511

android解析html5,HtmlSpanner 使用小结 -- 安卓解析html

如何利用 HtmlSpanner解析 HTML格式 的字符串:1. GitHub 下载HtmlSpanner项目https://github.com/NightWhistler/HtmlSpanner2. 最好是直接放在java目录下在,这样不需要改引用的包路径3. 引入需要的依赖包implementation 'net.sourceforge.htmlcleaner:htmlcleaner:2...

weixin_31968223的博客 664

达梦数据库修改最大连接数

达梦数据库的最大连接数推荐配置与服务器内存有关。不应设置得过大,否则容易导致出现OOM。文件中整型的参数值。DSC环境下,除了特殊参数以外,其他参数值会在OK节点上同步。返回值:当前DM.INI文件中对应的参数值。功能说明:返回DM.INI文件中。:DM.INI文件中的参数名。

Sebastien23的博客 3332

android解析html新闻的方法,Android使用Jsoup解析Html表格的方法

本文实例讲述了Android使用Jsoup解析Html表格的方法。分享给大家供大家参考,具体如下:看代码吧,可解析表中的label text button 自己根据需要再添加,呵呵import java.util.ArrayList;import java.util.List;import org.apache.http.NameValuePair;import org.apache.http.m...

weixin_36060539的博客 105

PyTorch深度学习实战(2)——PyTorch基础

PyTorch 是广泛应用于机器学习领域中的强大开源框架,因其易用性和高效性备受青睐。在本节中,将介绍使用 PyTorch 构建神经网络的基础知识。首先了解 PyTorch 的核心数据类型——张量对象。然后,我们将深入研究用于张量对象的各种操作。PyTorch 提供了许多帮助构建神经网络的高级方法及组件,并提供了利用 GPU 更快地训练神经网络的张量对象。

盼小辉丶的博客 5万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

安卓 插件解析html,android WebView详解

浏览器控件是每个开发环境都具备的,这为马甲神功提供了用武之地,windows的有webbrowser,android和ios都有webview。只是其引擎不同,相对于微软的webbrowser,android及ios的webview的引擎都是webkit,对Html5提供支持。本篇主要介绍android的webview之强大。A.组件如何使用1)添加权限:AndroidManifest.xml中必...

weixin_39777019的博客 475

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android Jsoup:实现HTML解析和Epub解析

/ a标签// 遍历Elements的每个Element// a标签的href属性// 使用选择器语法来查找元素// 数据修改// 消除不受信任的html (来防止xss攻击)// 不安全的// 安全的try {try {// 若根目录有个index.html文件,否则程序会crashtry {

2501_90228933的博客 1050

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android使用html表格,Android使用Jsoup解析Html表格的方法

本文实例讲述了Android使用Jsoup解析Html表格的方法。分享给大家供大家参考,具体如下:看代码吧,可解析表中的label text button 自己根据需要再添加,呵呵import java.util.ArrayList;import java.util.List;import org.apache.http.NameValuePair;import org.apache.http.m...

weixin_30395941的博客 342

Android解析html

Android解析html

weixin_55933279的博客 724

android通过Jsoup解析Html表格

看代码吧,可解析表中的label text button 自己根据需要再添加,呵呵 import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.

q757989418的专栏 3306

Android开发 - 抓取并解析网页数据(xml解析、html解析)

抓取网页数据并解析、Jsoup、

Happy的博客 2万+
上一篇: &和&&的区别是
下一篇: 设计模式绪论DesignPatterns暂记
FakeOccupational
博客等级 码龄6年 2万+粉丝 1727原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值