请懂的帮忙解释一下哈~html解析

问题描述

privatestaticDocumentFragmentparse(InputSourceinput)throwsException{DOMFragmentParserparser=newDOMFragmentParser();//HTML片段的DOM解析器。//实现了一个HTML文件。提供对文档中,它的身体和标题顶层元素。//几种方法创建所有(注释,文本,元素等),基本类型的新节点。这些方法创建新的节点,但不要放置在文档树上。这些节点可能被放置在文档树使用HTMLDocumentImpldoc=newHTMLDocumentImpl();try{//设置SAX2解析器中的任何功能的状态。//设置SAX2解析器中的任何功能的状态。解析器可能无法识别功能,如果它不认识它,它可能无法完成请求。parser.setFeature("http://cyberneko.org/html/features/augmentations",false);//是否将与HTML事件有关的infoset项包括在解析管道中。parser.setProperty("http://cyberneko.org/html/properties/default-encoding",defaultCharEncoding);//IANAencodingnames默认的HTML文件编码parser.setFeature("http://cyberneko.org/html/features/scanner/ignore-specified-charset",true);parser.setFeature("http://cyberneko.org/html/features/balance-tags/ignore-outside-content",false);parser.setFeature("http://cyberneko.org/html/features/balance-tags/document-fragment",true);parser.setFeature("http://cyberneko.org/html/features/report-errors",false);//是否报告错误}catch(SAXExceptione){}doc.setErrorChecking(false);DocumentFragmentres=doc.createDocumentFragment();//创建一个空DocumentFragment对象。DocumentFragmentfrag=doc.createDocumentFragment();//解析一个文档片段parser.parse(input,frag);//解析一个文档片段,解析成DocumentFragment对象,放到frag里=================??????????System.out.println(frag+"frag");//将子节点添加到所有节点的后面res.appendChild(frag);try{while(true){frag=doc.createDocumentFragment();parser.parse(input,frag);if(!frag.hasChildNodes())break;System.out.println("-newfrag,"+frag.getChildNodes().getLength()+"nodes.");res.appendChild(frag);}}catch(Exceptione){e.printStackTrace();}returnres;}

解决方案

解决方案二:
补充一下啊:红色部分输出的是null上面代码的意思是啥啊懂得帮我解释一下啊谢谢啦这个是网络dom树组装的一部分,是爬虫的一部分
解决方案三:
你的DocumentFragmentfrag=doc.createDocumentFragment();创建对象失败了,所以返回NULL,检查一下doc的配置
解决方案四:
输出frag是null,应该是创建失败了。请问doc的配置在哪里配置啊,搜集不到DocumentFragment这些的详细的资料啊
解决方案五:
该回复于2011-04-15 17:11:06被版主删除
解决方案六:
有木有人懂啊……
解决方案七:
你试试换个类来声明parser。
解决方案八:
?书上用的都是这个类
解决方案九:
我在《自己动手写网络爬虫》第七章页面风格树去噪的源码看到和你贴出来一样的代码,我在调试这段代码,也遇到这个问题,很棘手~~~话说你看的也是这个书么?

时间: 2024-09-20 05:36:03

请懂的帮忙解释一下哈~html解析的相关文章

请大神帮忙解释一下以下代码的执行顺序

问题描述 AntName:Ant_Gen1_Ant16Parent1:Parent2:GeneratedCode://------------------------------------------------------------------------------//<auto-generated>//此代码由工具生成.//运行时版本:2.0.50727.5485////对此文件的更改可能会导致不正确的行为,并且如果//重新生成代码,这些更改将会丢失.//</auto-gene

小弟刚学extjs,这段代码看不懂,请各位高手帮忙解释一下,谢谢

问题描述 Ext.BLANK_IMAGE_URL='../../ExtJS/resources/images/default/s.gif';Ext.QuickTips.init();Ext.override(Ext.form.ComboBox,{onKeyUp:function(e){if(this.editable!==false&&!e.isSpecialKey()){if(!this.isExpanded()){//this.onTriggerClick();//this.selec

请懂本本的朋友帮忙给解释下这个配置

问题描述 请尽量详细的解释一下 例如:处理器 后面那个 520M 是什么意思 谢谢!配置信息:类别:笔记本电脑 品牌:DELL(戴尔) 参考价格:¥8899[北京]商家报价:¥8810 至 ¥9500屏幕尺寸:14.1英寸 1280×800 处理器型:Intel 酷睿i5 520M 处理器主:2.4GHz 内存容量:2GB DDR3 1333MHz硬盘容量:160GB 5400转,SATA显卡芯片:Intel GMA HD(集成于操作系统:Windows 7 Profession光驱类型:DVD

编程c语言-c中的null到底怎么理解?直接理解为0,可以吗,请各位大神帮忙解释

问题描述 c中的null到底怎么理解?直接理解为0,可以吗,请各位大神帮忙解释 小弟自学c语言以来,遇到各类问题,这个事比较难搞得,请各位帮忙 解决方案 首先请注意,需要大写NULL 其次,在绝大多数的系统上都可以理解为0(这货本来就是个宏定义嘛#define NULL ((void*)0)) 在绝大多数系统上,不存在变量的地址为0,因而0可以被安全地认为是一个不存在变量的地方,指向0的指针一定是个空指针 解决方案二: 不一定哦,你看 String str=null; 代表的是空值, Syste

标准-请懂计算机的帮忙估算一下,我鼠标连续移动一秒,计算机要花费多少时间在鼠标移动这一事件的处理上

问题描述 请懂计算机的帮忙估算一下,我鼠标连续移动一秒,计算机要花费多少时间在鼠标移动这一事件的处理上 以市面上普通正常的计算机标准大概估算一下就行了,只要误差在一个数量级以内,一直觉得计算很快,但是不知道到底有多快,学编程,书里有句话说:"不要以为你连续移动鼠标,电脑就处于忙碌状态,它依然有很多的空闲时间,所以我才有此一问" 解决方案 鼠标晃晃还是需要消耗一些资源的,因为窗口上很多控件都需要判断自身是否需要响应鼠标滑过的消息,以及处理显示.你可以打开任务管理器,切换到性能标签, 晃动

对象-java 抽象类有段代码没看懂!!!帮忙解释下

问题描述 java 抽象类有段代码没看懂!!!帮忙解释下 自己看视频自学到网络编程,发现下边的代码看不懂,自己也百度了很多,还是没理解好抽象类 OutputStream os=Socket.getOutputSteam(); os.write("加油".getBytes()): 这段代码没看懂,OutputStream抽象类不能直接创建对象,也没有子类去实现,为什么可以直接调用write(byte[] b) 方法? 解决方案 不能创建对象的意思是不能通过new outputstream

oracle11g-linux安装oracle11 rac集群,报错,请专家帮忙解释下是哪里问题,感谢

问题描述 linux安装oracle11 rac集群,报错,请专家帮忙解释下是哪里问题,感谢 解决方案 图太小,看不清,建议参考:http://blog.chinaunix.net/uid-14779297-id-1988248.html 解决方案二: http://wenku.baidu.com/link?url=DpFOy89l9FBzJo0qul70p81mRk9vXwjlNNgISVaKRSSyPKGy9Yoq389lRVG9sXLeRaWl7j71IGIhRnYt9SJlOKtpT22

python二分法,请大神帮忙看看这个输出,求解释。非常捉急~

问题描述 python二分法,请大神帮忙看看这个输出,求解释.非常捉急~ def search2(a,m): low = 0 high = len(a) - 1 while low<=high: mid = (low + high)/2 midval = a[mid] if midval<m: low = mid + 1 elif midval>m: high = mid-1 else: print mid return mid print -1 return -1 这是我在网上粘的别人

xml-XML文件问题,请大神看下并帮忙解释下,感激不尽

问题描述 XML文件问题,请大神看下并帮忙解释下,感激不尽 XML文件问题,下边两段bean代码,我新手不理解,请大神看下并帮忙解释下,感激不尽 <bean id="dingDanDengJiDao" class="com.sysgrrj.module.DingDanDengJi.dao.DingDanDengJiDao"> <property name="sessionFactory"> <ref bean=&qu