python中 sgmllib 解析html时的问题(不能区分在javascript 的某些字符串)

本文探讨了使用sgmllib解析网易网站HTML时遇到的问题,特别是无法正确解析JavaScript代码中的一些HTML标签。

最近在尝试使用 sgmllib 解析html,以 www.163.com作测试,发现总有不能正确解析的地方。

在网页中,javascript部分,有:
  1.   contemt+="<CENTER>";
  2.       var len=node.length;
  3.       for(var i=0;i<len ;i++)
  4.       {
  5.                 var c=node[i].getAttribute("c");
  6.                 var city=node[i].getAttribute("city");
  7.                 var wd=node[i].getAttribute("wd");
  8.                 var qx=node[i].getAttribute("qx");
  9.                 var dry=node[i].getAttribute("lk");
  10.                 var img=node[i].getAttribute("qximg");
  11.                 if ((c==null || c=="") || (wd==null || wd=="") || (qx==null || qx=="") || (img==null || img==""))  return;
  12.                 var imgs=img.split(",");
  13.                 contemt+="<table cellpadding=0 cellspacing=0 border=0>";
  14.                 
  15.                 contemt+="<tr><td style=/"text-align: left; padding-bottom: 2px;/">" + c + " " + wd+ "</td></tr>";
  16.                 contemt+="<tr><td style=/"text-align: left; padding-bottom: 2px;/">今日 ";
  17.         if(img!=''&& img.length>0){
  18.            if(imgs.length > 0){
  19.                         contemt+="<img width=/"15/" height=/"15/" border=/"0/" align=/"absmiddle/" alt=/"" + wd + "/" src=/"http://img1.cache.netease.com/cnews/img/weatherlogo/" + imgs[0] +"/"/> ";
  20.            }
  21.         }
  22.                 contemt+=qx;
  23.                 contemt+="</td></tr>";
  24.                 contemt+="<tr><td style=/"text-align: left;/"><img src=/"http://images4.cache.netease.com/yodaoimages/pack.r081028/fire.gif/" width=/"15/" height=/"15/" border=/"0/" align=/"absmiddle/"/>干燥度:" + getDryness(dry) +"</td></tr>";
  25.         contemt+="</table>";
这里 就不能正确解析 第一行的代码中的 "<CENTER>",即其不能正确解析包含在javascript中的某些类似 <xxx> 标示的字符串。



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值