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