用htmlparser提取html 中的纯文本,获得<p></p>之间的内容

问题描述

packagewebutil.htmlutil;importorg.htmlparser.Node;importorg.htmlparser.NodeFilter;importorg.htmlparser.Parser;importorg.htmlparser.filters.NodeClassFilter;importorg.htmlparser.filters.OrFilter;importorg.htmlparser.filters.TagNameFilter;importorg.htmlparser.tags.Div;importorg.htmlparser.tags.ParagraphTag;importorg.htmlparser.tags.TableTag;importorg.htmlparser.util.NodeList;/***标题:利用htmlparser提取网页纯文本的例子*@author**/publicclassGetT{publicstaticvoidtestHtml(){try{StringsCurrentLine;StringsTotalString;sCurrentLine="";sTotalString="";java.io.InputStreaml_urlStream;java.net.URLl_url=newjava.net.URL("http://www.51voa.com/VOA_Special_English/researchers-brain-stimulation-cocaine-addiction-49619.html");java.net.HttpURLConnectionl_connection=(java.net.HttpURLConnection)l_url.openConnection();l_connection.connect();l_urlStream=l_connection.getInputStream();java.io.BufferedReaderl_reader=newjava.io.BufferedReader(newjava.io.InputStreamReader(l_urlStream));while((sCurrentLine=l_reader.readLine())!=null){sTotalString+=sCurrentLine+"rn";}//System.out.println(sTotalString);System.out.println("====================");StringtestText=extractText(sTotalString);System.out.println(testText);}catch(Exceptione){e.printStackTrace();}}/***抽取纯文本信息**@paraminputHtml*@return*/publicstaticStringextractText(StringinputHtml)throwsException{StringBuffertext=newStringBuffer();//System.out.println(inputHtml);Parserparser=Parser.createParser(newString(inputHtml.getBytes(),"GBK"),"GBK");//遍历所有的节点NodeFilter[]filters=newNodeFilter[3];filters[0]=newNodeClassFilter(TableTag.class);filters[1]=newNodeClassFilter(ParagraphTag.class);filters[2]=newNodeClassFilter(Div.class);NodeFilterfilter=newOrFilter(filters);NodeListlist=parser.extractAllNodesThatMatch(filter);//for(inti=0;i<list.size();i++){//System.out.println(list.elementAt(i).toHtml());//}System.out.println(list.size());for(inti=0;i<list.size();i++){Nodenodet=list.elementAt(i);//System.out.println("NODES["+i+"]:"+newString(nodet.toPlainTextString().getBytes("GBK")));text.append(newString(nodet.toPlainTextString().getBytes("GBK"))+"rn");}System.out.println(text.toString());returntext.toString();}/***读取文件的方式来分析内容.filePath也可以是一个Url.**@paramresource*文件/Url*/publicstaticvoidtest5(Stringresource)throwsException{ParsermyParser=newParser(resource);//设置编码myParser.setEncoding("GBK");StringfilterStr="table";NodeFilterfilter=newTagNameFilter(filterStr);NodeListnodeList=myParser.extractAllNodesThatMatch(filter);TableTagtabletag=(TableTag)nodeList.elementAt(11);System.out.println(tabletag.toHtml());System.out.println("==============");}publicstaticvoidmain(String[]args)throwsException{//test5("http://news.ccidnet.com/index.htm");testHtml();}}

解决方案

解决方案二:
用HasChildFilter可以解决?
解决方案三:
求"用htmlparser提取html中的纯文本,获得<p></p>之间的内容"完整代码

时间: 2024-11-03 21:56:01

用htmlparser提取html 中的纯文本,获得&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;之间的内容的相关文章

jquery提取元素里的纯文本不包含span等里的内容_jquery

复制代码 代码如下: var text = ''; $('div').contents().each(function(){ if(this.nodeType === 3){ text += this.wholeText; } }); nodeType 元素element 1 属性attr 2 文本text 3 注释comments 8 文档document 9

纯文本链接能否传递权重

之前在网上看到一篇文章,内容是关于纯文本形式链接在当前的搜索引擎优化是否还有用处,那篇文章写的非常不错,结合自己网站实际情况,并且给出了很多有利证据证明其文章观点,但是有一个观点我无法认同.那篇文章中写到,"通过使用百度站长工具查询网站外链,能够查到纯文本形式的外链,并且能识别链接前面的文字作为连接名称,达到和锚文本一样的效果,所以在高权重的网站发布纯文本形式的链接也能和锚文本链接一样获得高权重外链." 对于权重传递,百度没有给出明确的说明,所以网上流传的说法也都是个人猜测,我对权重传

百度站长工具显示纯文本链接能够被识别

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 现在公认的外链主要有两种形式,超链接和锚文本链接.相信绝大部分站长查询一个网站的外链都是使用搜索引擎的domain命令进行查询,但是domain命令只能够查询纯文本链接和超链接,并不能查询锚文本.我们已经知道超链接形式的链接是外链的一种,但是纯文本形式的链接到底能否被百度所识别呢?简单的说就是纯文本形式的链接到底算不算是有效的外链呢? 关于这

如何自己写代码从pdf文件中提取纯文本

问题描述 最近做一个毕设,关于从pdf文件中提取纯文本的.从网上找了一段C写的代码,可以简单的实现从pdf中抽取文本,不过,只能提取英文,而不能提取汉字.研究了几天了,仍无头绪,急求大侠帮忙.下面附上c语言代码.#include<stdio.h>#include<windows.h>//YOurprojectmustalsoincludezdll.lib(ZLIB)asadependency.//ZLIBcanbefreelydownloadedfromtheinternet,ww

java使用htmlparser提取网页纯文本例子_java

复制代码 代码如下: package com.test; import org.htmlparser.Node;import org.htmlparser.NodeFilter;import org.htmlparser.Parser;import org.htmlparser.filters.TagNameFilter;import org.htmlparser.tags.TableTag;import org.htmlparser.util.NodeList; /*** 标题:利用htmlp

javascript去除字符串中所有标点符号和提取纯文本的正则_javascript技巧

用正则表达式除字符串中所有标点符号 复制代码 代码如下: <script language="javascript">   var str="jfkldsjalk,.23@#!$$k~!  @#$%^&*()(_+-=|\{}[]';:,./<>??gg  g~```gf";   str=str.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\

安卓 app 形状 绘制-请教,安卓app开发中,能用代码绘制一个纯文本意义的纯色的胶囊形状吗

问题描述 请教,安卓app开发中,能用代码绘制一个纯文本意义的纯色的胶囊形状吗 请教,安卓app开发中,能用代码绘制一个纯文本意义的纯色的胶囊形状吗,还是要用png图片代替呢,各有什么有缺点呢 解决方案 可以直接画,定义圆角的弧度,其他用纯色填充,形如: radius就是角度 字面意思比较清楚,你看看 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://s

object c-用xml传输数据就是将所有数据编到纯文本中吗?

问题描述 用xml传输数据就是将所有数据编到纯文本中吗? 小弟最近在学习python和object-c之间的交互,不知道是不是应该用xml来传输数据呢?如果是用xml传输数据,那么比如说一个数组,是不是将数组中的数据编成一个xml格式的纯文本反馈到object-c然后在object-c上解析就可以了?还是需要其他的技术?希望各位前辈能够赐教,感激不尽! 解决方案 用json吧,这个好用,更现代.python,object-c都有很好的库支持

网站外链中纯文本和超链接作用

站似乎百度也意识到这一点,通过加强审核力度使得存活的超链接数量少之又少.那么对于这样的情况,站长就不能做外链了吗?答案是否定的,相应的文本链接就应运而生了.有质量的文本链接同样拥有超链接的作用,同样可以提升排名权重.今天笔者就这两种外链形式解说其基本作用. 一.纯文本链接的作用 什么是纯文本链接?看图: 图中显示无法使用鼠标直接点击进入网站的链接就是纯文本链接.最简单的理解方法就是纯文本链接所使用的形式跟文字一样的,鼠标移动链接上面没有任何的改变.这就是纯文本链接.那么纯文本链接既然不能点击进入