Python的HTML文档解析 tagparser

jopen 13年前
     <p>很多人需要提取网页的一些内容, 可以利用正则表达式提取,也可以用beautifulsoap等工具. 正则表达式方法速度快,缺点是不好找到匹配的正则. 其他类似beautiful的工具因为要全面分析html,而html不像xml那么严格,语法比较复杂所以效率很糟糕.这个工具就是为了处里这种问题 的.</p>    <p>这个工程只有一个文件 .tagparser.py 它可以方便分析像xml html 等这种标记语言. 只要他是'<'和'>'括起来的标记语言.</p>    <p>分析的方式是'抽'式的.也就是说扫描一个个字符 当遇到一个tag时 也就是遇到一个<>的时候,回调一个函数onGetTag() ,可以重载这个函数做自己的处理.</p>    <blockquote>     如遇到     <p>回调 onGetTag(tagstr, tagstro). tagstr = p tagstro = P tagstr 是小写的tag tagstro是源文件的大小写状态</p>    </blockquote>    <p>遇到内容 回调 onGetTxt(txtstr) , <tt>txtstr是 如:<tag>xxxxxxxxx</tag> xxxxx即内容</tt></p>    <p>使用例子,提取网易新闻页的主要内容,新闻 标题,内容主体: 例如:</p>    <pre class="prettyprint"><span class="pln">p </span><span class="pun">=</span><span class="pln"> </span><span class="typ">TagParser</span><span class="pun">()</span><span class="pln"> p</span><span class="pun">.</span><span class="pln">fetchUrl</span><span class="pun">(</span><span class="str">'http://news.163.com/09/0117/04/4VR79MP60001124J.html'</span><span class="pun">)</span><span class="pln"> p</span><span class="pun">.</span><span class="pln">printResult</span><span class="pun">()</span></pre>    <p>输出一个网页的新闻.<br /> <br /> </p>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1324431980577" target="_blank">http://www.open-open.com/lib/view/home/1324431980577</a></p>