使用SgmlReader清洗后,</body>的位置变了,本来在正文的下面,现在跑到正文的上面去了。也就是说,现在<body></body>里面不包括正文内容了。
但是有的网页是清洗正确的
清洗不正确的网页是 :http://ent.sina.com.cn/v/m/2010-12-21/10023183392.shtml烦请高手指教!

解决方案 »

  1.   

    我不知道你的问题 是怎么回事但我学习到了,SgmlReader 不错啊
      

  2.   

    我打开看了下,这个页面 都是用JS在生成的,比较复杂但是 <body>还是对称的,不知道为什么不能正确解析
      

  3.   

    我是要从body里面用xpath取正文内容的,这样的话,就取不到了。是sgmlreader的问题,还是html的问题?为什么会出这样的问题呢?但是正是因为html不规范我们才用sgmlreader清洗啊!所以我觉得还是sgmlreader的问题。但是怎么解决呢?
      

  4.   

    <body></body>清洗前后都是对称的,就是清洗后,</body>的位置往上走了,成这样了。
    <body>
      <div style="position:absolute;top:0;left:0;width:0;height:0;z-index:1">
        <div style="position:absolute;top:0;left:0;width:1;height:1;">
          <iframe src="" width="1" height="1" SCROLLING="NO" FRAMEBORDER="0">
          </iframe>
        </div>
        <div style="position:absolute;top:0;left:0;width:0;height:0;visibility:hidden">
        </div>
      </div>
      <noScript>
        <div style="position:absolute;top:0;left:0;width:0;height:0;visibility:hidden">
          <img width="0" height="0" src="http://beacon.sina.com.cn/a.gif?noScript" border="0" alt="" />
        </div>
        
      </noScript>
      <div>
      </div>
    </body>
    <link href="http://i.sso.sina.com.cn/css/cardtips.css" rel="stylesheet" type="text/css" media="all" />
    <div>
      <a href="#blkBreadcrumb">
        <img src="http://i2.sinaimg.cn/c.gif" width="1" height="1" alt="跳转到路径导航栏" />
      </a>
      <div>
        <div>
          <ul>
            <li>
              <a href="http://www.sina.com.cn/">首页</a>
            </li>
            <li>
              <a href="http://news.sina.com.cn/">新闻</a>
      

  5.   

    我估计是因为他是异步的你通过 HTTPSOCKET得到的和浏览器里的估计会不一样
      

  6.   

    跟异步有什么关系呢,我先把html文件下载下来了,在清洗的
      

  7.   

    跟异步有关系,
    你要知道异步是怎么做的第一步下载到一个HTML,实际只包含JS
    然后执行JS,JS再从服务端获取数据,动态构建HTML如果是这样的,你很难搞数据的
      

  8.   

    你好,请问sgmlreader如何使用呢?网上说“将assembly放到你的应用程序bin folder中。在可以运用assembly集后,编写代码来读取你想解析的HTML。”可是assembly是什么呢?应用程序bin folder指什么?还有网上那些代码是写在哪的呢?
    我是菜鸟一枚,毕设题目跟这个有关,可是实在搞不懂这个,还望指教!谢谢!