网络爬虫-去除网页源码中的标签
来源:互联网 发布:淘宝开店货源免费代理 编辑:程序博客网 时间:2024/06/13 01:32
像百度百科、维基百科获取到的网页源码经常会含有HTML标签,要想获取到跟页面上我们看到的一样的内容,就需要对网页源码进行处理。
下面是处理网页源码中的HTML标签的工具类:
public class StringUtil { public static String stripHTML(String html) { String noHTMLString = ""; html = html.replaceAll("&", "&"); Matcher m = Pattern .compile("&#(\\d+);", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL | Pattern.CANON_EQ) .matcher(html); boolean b = false; int i = 0; while (m.find()) { if (i > 500) { System.out.println(i); } i++; html = html.replace("&#" + m.group(1) + ";", (char) Integer.parseInt(m.group(1)) + ""); b = true; } if (!b) { m = Pattern .compile("&#x([\\da-f]+);", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL | Pattern.CANON_EQ) .matcher(html); int j = 0; while (m.find()) { if (j > 500) { System.out.println(j); } j++; html = html.replaceAll("&#[x|X]" + m.group(1) + ";", (char) Integer.parseInt(m.group(1), 16) + ""); } } noHTMLString = html.replaceAll("<\\s*(?:br|Br|BR|bR|div|DIV|Div|p|P|td|TD|Td)\\s*(?:[^>])*\\s*>", "\n") .replaceAll(" ", " ").replaceAll("", " ").replaceAll(" ", " ").replaceAll("\\<.*?\\>", "") .replaceAll("&(?:g|l)t", ""); return noHTMLString.trim(); }}
处理后就可以得到跟我们网页上看到的一样的内容了,有时候有些特殊的字符可能没有被处理掉,可以通过.replaceAll()替换掉即可。
阅读全文
0 0
- 网络爬虫-去除网页源码中的标签
- python爬虫去除网页中的script结构
- 网络爬虫中的Queue源码
- c# 去除网页源码中的HTML标记
- C#获取网页源代码,去除html标签,提取文字源码
- 网络爬虫中的LinQueue类源码
- ecshop去除网页源码中的版权信息(…
- 去除jsp执行后,网页源码中的空行
- 去除jsp执行后,网页源码中的空行
- C# 抓取网页Html源码 (网络爬虫)
- 网络爬虫-网页源码的gzip压缩和解压
- 网络爬虫下载网页
- 一个简单的网络爬虫---爬取网页中的图片
- Python中的网页爬虫
- 网络爬虫 Larbin 源码
- 网络爬虫源码
- 网络爬虫HtmlParserTool源码
- 网络爬虫源码
- Retrofit的使用教程(一) 1.9
- 4 数据迁移
- 使用AS开发中遇到的问题
- Linux安装Redis
- c++ string知识点总结
- 网络爬虫-去除网页源码中的标签
- java中volatile关键字的含义
- 参数innodb_data_file_path修改注意事项
- linux入门第4篇-文件和目录权限
- 判断imageview是否有图片或者是默认图片
- SpringDataJpa的Specification查询
- 测试好文之一git基础命令的学习14个基础命令附其他16个命令
- 运算符优先级
- 创业互联网公司如何搭建自己的技术框架