python解析html/xml
2013-01-05 08:31
344 查看
解析html
对于不严格的html(比如缺少关闭tag),可以使用TidyLib。
from HTMLParser import HTMLParser import sys class TestParser(HTMLParser): def __init__(self): self.title = '' self.readingtitle = 0 self.body = '' self.readingbody = 0 HTMLParser.__init__(self) def handle_starttag(self, tag, attrs): if self.readingbody: self.body += '<'+tag+'>' if tag == 'title': self.readingtitle = 1 elif tag == 'body': self.readingbody = 1 def handle_data(self, data): if self.readingtitle: self.title += data elif self.readingbody: self.body += data def handle_endtag(self, tag): if tag == 'title': self.readingtitle = 0 elif tag == 'body': self.readingbody = 0 if self.readingbody: self.body += '<'+tag+'>' def gettitle(self): return self.title def getbody(self): return self.body # testparser.py test.html #fd = open(sys.argv[1]) fd = open("test.html"); tp = TestParser() tp.feed(fd.read()) print "Title is:", tp.gettitle() print "Body is:", tp.getbody()
对于不严格的html(比如缺少关闭tag),可以使用TidyLib。
<html> <head> <title>Document Title</title> </head> <body> <p>This is a text</p> </body> </html>输出
>>> Title is: Document Title Body is: <p>This is a text<p>解析xml
from xml.dom import minidom, Node import sys def scanNode(node, level = 0): msg = node.__class__.__name__ if node.nodeType == Node.ELEMENT_NODE: msg += ", tag: " + node.tagName print level, msg if node.hasChildNodes: for child in node.childNodes: scanNode(child, level + 1) # testparser.py test.xml doc = minidom.parse("test.xml"); scanNode(doc)test.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?> <books> <book author="moyan"> <name>fengrufeitun</name> <price>12</price> </book> </books>输出
>>> 0 Document 1 Element, tag: books 2 Text 2 Element, tag: book 3 Text 3 Element, tag: name 4 Text 3 Text 3 Element, tag: price 4 Text 3 Text 2 Text
相关文章推荐
- Python的html和xml解析库Beautiful Soup
- 使用python解析xml成对应的html示例分享
- 使用python解析xml成对应的html示例分享
- Python的html和xml解析库Beautiful Soup
- python-minidom模块【解析xml】
- 用 ElementTree 在 Python 中解析 XML
- 【转】使用Python中HTTPParser模块进行简单的html解析
- python3 文件解析模块(html,email等说明)
- python解析xml
- [转]python对XML的解析
- Python解析XML简单介绍
- 基于python的-json解析爬取电影接口(存入html中)
- python 解析XML xml.dom
- 关于在html中通过js解析xml相关问题:
- Python 用BeautifulSoup 解析Html
- python对XML的解析
- java 使用xpath解析xml和html
- python 创建并解析XML
- Python实现简单HTML表格解析的方法
- 用 ElementTree 在 Python 中解析 XML