源是这样的:
  1. <img src="http://p2.pstatp.com/large/1c6000c35891181a89e" img_width="640" img_height="427" alt="阎肃今晨去世 享年86岁 原来这些"流行歌曲"都是老先生写的"  onerror="javascript:errorimg.call(this);" >
复制代码

抓到之后变成了这样
  1. <img onerror="javascript:errorimg.call(this);" 流行歌曲"都是老先生写的"="" alt="阎肃今晨去世 享年86岁 原来这些" img_height="427" img_width="640" src="http://p2.pstatp.com/large/1c6000c35891181a89e" />
复制代码
我估计是引号导致,注意那个alt里面的内容被打乱了。
内容源在这里:http://toutiao.com/i6250344183064691202/






举报 使用道具
| 回复

共 3 个关于本帖的回复 最后回复于 2016-2-20 11:27

沙发
Fuller 管理员 发表于 2016-2-20 11:25:31 | 只看该作者
确实有这个问题,抓取结果解析不了了,我分析了一下,html源代码本身有错误,导致解析出来的网页DOM也有问题。应该是英文的"",与html中的属性值的引号混淆了。这一行:
  1. alt="阎肃今晨去世 享年86岁 原来这些"流行歌曲"都是老先生写的"
复制代码
引号里面套引号,就出错了。

MS谋数台显示的属性变成这样了

这个问题我们得开发那边想想怎样过滤掉这样的错误。

上面是火狐的解析结果,按  F12 看到的。我看看chrome怎样


chrome的没有问题。


抓取片段是用 xsl:copy-of ,有什么拷贝什么,无法过滤,现在是依赖于浏览器的解析,只能在入库程序中做过滤。




举报 使用道具
板凳
Fuller 管理员 发表于 2016-2-20 11:26:21 | 只看该作者
我解析的时候会有这个错
  1. [2016-02-12 20:12:21;115,  1734]ERROR(GrepJob.java:57) - DocumentException
  2. org.dom4j.DocumentException: Error on line 5 of document file:///E:/news-resources/news-crawler/今日头条_2级/今日头条_2级_229121645_3578522521.xml : 与元素类型 "img" 相关联的属性名 "流行歌曲" 必须后跟 ' = ' 字符。 Nested exception: 与元素类型 "img" 相关联的属性名 "流行歌曲" 必须后跟 ' = ' 字符。
  3.         at org.dom4j.io.SAXReader.read(SAXReader.java:482)
  4.         at org.dom4j.io.SAXReader.read(SAXReader.java:264)
  5.         at com.pandora.crawler.task.GrepJob.parseXML(GrepJob.java:52)
  6.         at com.pandora.crawler.task.GrepJob.main(GrepJob.java:94)
  7. Nested exception:
  8. org.xml.sax.SAXParseException; systemId: file:///E:/news-resources/news-crawler/今日头条_2级/今日头条_2级_229121645_3578522521.xml; lineNumber: 5; columnNumber: 114; 与元素类型 "img" 相关联的属性名 "流行歌曲" 必须后跟 ' = ' 字符。
复制代码


举报 使用道具
地板
Fuller 管理员 发表于 2016-2-20 11:27:25 | 只看该作者
先针对这个特殊情况做个过滤吧,要做个通用的程序还挺麻烦,不知道会是什么特征
如果用底层sax编程,也许可以跳过这些异常。
这个Bug已经记录下来,正在设计解决方案
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • Gephi社会网络分析-马蜂窝游记文本分词并同
  • Gephi社会网络分析-基于马蜂窝游记文本以词
  • 知乎话题文本根据词语间距筛选后生成共词矩
  • 马蜂窝游记文本分词后以词语间距为筛选条件
  • 学习使用apriori算法挖掘关联关系

热门用户

GMT+8, 2024-5-5 06:23