易截截图软件、单文件、免安装、纯绿色、仅160KB

使用perl分析html文件

原文地址:http://bbs.chinaunix.net/viewthread.php?tid=1316204
前天研究使用HTML::TreeBuilder模块分析网页,看到了一篇文章,顺便就翻译了一下,发上来分享。本人文笔不好,e文水平有限,大家撮合看吧。
原文地址:http://www.perl.com/pub/a/2006/01/19/analyzing_html.html?page=1
文章的背景是,作者在教授网页编辑的课程,他会给学生做一些使用nvu做网页作业,每个作业中有些特定的要求,作者苦于给学生的作业评分和做注释,所以就想到使用perl程序对学生的作品进行分析。
perl的正则表达式在文本处理方面的能力已经非常卓越,并且还有分解网页的专用模组HTML::TreeBuilder。它提供了一个html的分解器,这个分解器可以从一个网页构建出一个元素的树形结构。并且,从一个网页中建立一棵树和构建它的内容是非常容易的:
#新建一棵树
$tree = HTML::TreeBuilder->new;
#由一个网页文件构建树的内容
$tree->parse_file($file_name);
#当然也可以由一个变量的内容中分解出树的内容
$tree->parse($value);
树的节点是一个HTML::Element对象。这有很多方法可以存取和操作树中的这些节点。当你使用完成了这棵树的时候,可以使用下面的方法销毁它并且释放它占用的内存:
$tree->delete;
在HTML::TreeBuilder建立的树形结构中,一个模组HTML::Element代表一个html元素。它有大量的方法存取和操作这些元素和搜寻树中的子孙节点和祖先节点。例如:方法find()使用一个或更多的标签名作为参数来寻找所有的下行的相关节点:
@elements = $element->find('a', 'img');
上面这条语句将把所有$element节点以下的<a>节点和<img>节点存储在@elements数组里。方法look_down()是比find()更强大的搜索方法。它以三种类型的方法来查找下行节点:1,严格指定标签的名称或属性值。2,使用正则表达式匹配。3,通过一个返回真的子函数来确定想要的节点。下面是一些例子:
@anchors = $element->look_down('_tag' => 'a');
找到所有的$element下的<a>节点,并存储到@anchors数组中。
@colors = $element->look_down('style' => qr/color/);
找到所有的$element下的含有style属性并且该属性包括color的节点,并存储到@anchors数组中。
@largeimages = $element->look_down(
    sub {
         $_[0]->tag() eq 'img' and
      


相关文档:

有关去掉html中的两端字符

如何有一个字符串是这样的形式str = "&bbbLAA";
想得到"L"的话可以这样去实现:
//sDataStr = "&bbbLAA";
//sLeftQuote = ""&bbb";
//sRightQuote = "&AA";
调用这个方法将得到L字段。
function abCutString( sDataStr, sLeftQuote, sRightQuote)
{
 var sReturnVal = '';
 var nStart ......

HTML特殊字符

双引号:&quot;或&#34;
单引号:&apos;或&#39;(IE实体名无效)
&符号:&amp;或&#38;
<小于:&lt;或&#60;
>大于:&gt;或&#62;
空格:&nbsp;或&#160;
£英磅:&pound;或&#163;
¥元:&yen;或&#165;
¦分隔符:&brvbar;或& ......

html弹出提示框并实现拖动的源码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
<title>简单的测试页面</title> ......

省市县不刷页面js 完成html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title> new docu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号