写一个爬虫程序,使用 lxml.html 分析网页
遇到一个正文带图片的网页,无法正常解析
不带图片的正文部分是这样的:
<font face="宋体" size="3"><!--HTMLBUILERPART0--><DIV style="FLOAT: left"><script type="text/javascript" src="/2014newad.js"></script><br><script type="text/javascript" src="/xyoushangjiaoguanggao.js"></script><br><script type="text/javascript" src="/3youshangjiaoguanggao.js"></script></DIV> 我是文本<BR><BR>
我是文本<BR><BR>
我是文本<BR><BR>
<!--/HTMLBUILERPART0--><br><div align="center"></div> </font>
带图片的正文部分是这样的:
<font face="宋体" size="3"><!--HTMLBUILERPART0--><DIV style="FLOAT: left"><script type="text/javascript" src="/2014newad.js"></script><br><script type="text/javascript" src="/xyoushangjiaoguanggao.js"></script><br><script type="text/javascript" src="/3youshangjiaoguanggao.js"></script></DIV>
<center><img border="0" src="zz.jpg" width="126" height="144"></center><BR><BR>
我是文本<BR><BR>
我是文本<BR><BR>
<!--/HTMLBUILERPART0--><br><div align="center"></div> </font>
中间多出了:
<center><img border="0" src="zz.jpg" width="126" height="144"></center>
解析代码为:
body = doc.xpath("/html/body")[0]
lines = body.xpath("//font[@face=\"宋体\" and @size=\"3\"]/*")
context = []
for line in lines:
if not line.tail:
continue
context.append(line.tail)
return context
代码解析不带图片的正文正常
解析带图片的正文,无法得到图片和文本节点(跟 if not line.tail 无关)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.