Android对HTML的处理
来源:互联网 发布:淘宝数据包怎么导入 编辑:程序博客网 时间:2024/05/01 20:24
官网:http://jsoup.org/
http://www.ibm.com/developerworks/cn/java/j-lo-jsouphtml/index.html
http://www.open-open.com/jsoup/parsing-a-document.htm
http://www.cnblogs.com/mooncher/archive/2012/09/18/2690806.html 【灰常好】
http://www.blogjava.net/zjusuyong/articles/304788.html 【Http深入理解】
http://weiweiabc109.blog.163.com/blog/static/2835722012111775546750/ 【http header头】
1 解析HTML
在Android应用程序开发过程中,经常需要解析HTML文档,特别是那类通过“爬网站”抓取数据的应用,比如天气预报。Java常用的解析HTML文档的方法有以下几种:
使用正则表达式来抽取数据。
以纯字符串查找定位来实现。
使用HTML Parser解析器。
使用Jsoup解析器。
在Android平台上推荐使用Jsoup解析器来解析HTML文档。Jsoup既可以通过一个URL网址,也可以通过存储HTML脚本的文件或者存储HTML脚本的字符串作为数据源,然后通过DOM、CSS选择器来查找、抽取数据。
使用Jsoup解析字符串形式的HTML文件的方法如下:
- // 定义需要解析的HTML字符串
- String html = "<html><head><title>First parse</title></head>"
- + "<body><p>Parsed HTML into a doc.</p></body></html>";
- // 将字符串解析之后放到Document对象中
- Document doc = Jsoup.parse(html);
- }
- 下面是一个具体的解析列子,使用Jsoup从HTML文件中提取出超链接、超链接文本、页面描述等内容。
- // 需要解析的HTML字符串
- String html = "<p>An <a href='http:// example.com/'><b>example</b></a> link.</p>";
- // 保存到Document对象中
- Document doc = Jsoup.parse(html);
- // 得到第一个a标签的超链接
- Element link = doc.select("a").first();
- // 取出HTML字符串中的文本内容
- // 这里test的值为 An example link
- String text = doc.body().text();
- // 获取属性为href的字符串
- // 这里linkHref的值为"http:// example.com/"
- String linklinkHref = link.attr("href");
- // 获取a标签内部的纯文本
- // linkText为 "example"
- String linklinkText = link.text();
- // 获取整个a标签里面的字符串
- // 这里linkOuterH的值为<a href="http:// example.com"><b>example</b></a>
- String linklinkOuterH = link.outerHtml();
- // 获取a标签内部(不包含a标签)的全部字符串
- // 这里linkInnerH的值为<b>example</b>
- String linklinkInnerH = link.html();
Jsoup还可以使用Whitelist()方法把不规范的HTML格式整理为规范格式,Whitelist方法定义了哪些HTML的元素和属性可以保留,其他的全部会被删除掉。Whitelist.basic()方法允许通过的文本节点为:a、b、blockquote、br、cite、code、dd、dl、dt、em、i、li、ol、p、pre、q、small、strike、strong、sub、sup、u、ul,以及相应的属性,不允许图片通过。
具体的使用方法如下:
- String unsafe =
- "<p><a href='http:// example.com/' onclick='stealCookies()'>Link</a></p>";
- // 调用clean方法整理不标准的代码
- String safe = Jsoup.clean(unsafe, Whitelist.basic());
- // safe为<p><a href="http:// example.com/" rel="nofollow">Link</a></p>
- Android对HTML的处理
- Android 对HTML标签的简单处理
- html对disabled的处理
- DataGrid对Html标签的处理
- PHP对HTML编码字符串的处理
- PHP对HTML编码字符串的处理
- HTML Parser 对 IFrame 的处理
- htmlparser对html页面处理的算法
- JavaWeb-Servlet对html表单的处理
- php对html标签的处理
- 安卓对HTML的处理
- android 对电话的处理
- 处理ie6对html的<base>标签的支持
- html命名实体及对它的处理方法
- NOJ[1093] HTML 即HDU1088 对字符串的处理
- Jsoup解析html时对相对地址的处理
- Lucene对pdf、word、html等文件的处理
- HTML、CSS、JS对unicode字符的不同处理
- 钩子函数
- 理解 Android 上的安全性
- 关于GitHub的使用方法
- realtek PCI-E Gigabit Ethernet Boot Agent
- JAVA中URI/URL/URN的区别
- Android对HTML的处理
- OCP-1Z0-053-V12.02-418题
- UVA 10169 - Urn-ball Probabilities !(概率 打表)
- VLAN、tag和untag深入问题
- phpcms 后台添加用户提示操作失败 或者是 添加用户时验证用户名和邮箱超时
- Android使用KSOAP调用webservice返回自定义类
- jenkins 配置【svn,maven,tomcat ,ssh】
- hdu 2163 Palindromes
- 求四个数的最大公约数