目的:将南京邮电大学学报页面中的所有表单过滤出来
代码:
                           String url="http://nyzr.njupt.edu.cn/ch/index.aspx";//学报地址
Parser parser = new Parser();
parser.setURL(url);
                            parser.setEncoding("GB2312");
NodeList form_list = parser .extractAllNodesThatMatch(new NodeClassFilter(FormTag.class));// 过滤出Form节点
可是发现始终无法过滤出form节点,但是过滤title节点就可以
猜想是页面的问题吧?这个过滤方法我用在很多页面上都可以成功过滤的啊附学报页面的html代码:学报页面代码过长,无法贴上来
请高人赐教,

解决方案 »

  1.   

    用URLConnection就可以啊,原始的办法有时候就是有效!
      

  2.   

    不行啊,我将html代码保存在文件中,用Parser.createParser(HtmlSrc,Encoding)也不行,应该不是获取网页代码的问题,因为我过滤title节点可以过滤出来
      

  3.   

    还是不行啊,过滤table等都可以,就是form不行,请问能帮忙分析一下吗?可以追加分数
      

  4.   

    貌似TagNameFilter和NodeClassFilter的结果都一样,只能过滤table,title等,是否网页采用了很多的div的原因呢?求指教!!!
      

  5.   

    TagnameFilter也不行,试过很多方法,都是无法过滤出form
      

  6.   

    编码是否对应,是否能获得过滤之前的html代码。将代码输出看看,是否存在表单元素。
      

  7.   

    编码对应,可以获取代码,的确存在表单元素,因为我将formtag改为tabletag后就可以获得一个很大的table节点,而表单都在里面,可是我紧接着再用NodeClassFilter(FormTag.Class)对table进行二次过滤,也无法将form过滤出来,请问是何原因?我猜测是因为页面存在太多的div布局造成的,请高手帮忙分析,可以追加分数
      

  8.   

    是的,第一次过滤table节点,可以过滤出一个很大的table,其中包含几个form节点,然后二次过滤form却不可以,过滤不到,猜测是页面存在太多的div布局造成的,请高手帮忙分析,可以追加分数
      

  9.   

    页面的div标签如何过滤掉呢?
      

  10.   

    你不就是要过滤到某个table下的某个form吗.?
    我想同时加两个过滤器有什么不行?
      

  11.   

    但是只能过滤出table,form还是无法过滤啊,你可以帮我试一下,郁闷不知道什么原因
      

  12.   

    ?我刚做了个demo 过滤得蛮好.!  
      

  13.   

    如果都是过滤同样的html页面,应该是可以的,无关div多少的问题.--
    看看要进行第二次过滤时,from是否还在
      

  14.   

    在吗?能把你的传给我看看吗?急求!!!我下午去开会去了不在,很不好意思啊,我QQ394599671,能留个QQ吗??
      

  15.   

    我也怀疑是页面样式混乱导致 解析form节点 解析不到