Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4584601
  • 博文数量: 1214
  • 博客积分: 13195
  • 博客等级: 上将
  • 技术积分: 9105
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-19 14:41
个人简介

C++,python,热爱算法和机器学习

文章分类

全部博文(1214)

文章存档

2021年(13)

2020年(49)

2019年(14)

2018年(27)

2017年(69)

2016年(100)

2015年(106)

2014年(240)

2013年(5)

2012年(193)

2011年(155)

2010年(93)

2009年(62)

2008年(51)

2007年(37)

分类: Python/Ruby

2012-04-25 23:18:49

文章来源:http://blog.csdn.net/yatere/article/details/6660642

例子:解析网页中的连接地址:


  1. from html.parser import HTMLParser  
  2. page='''''京东商城乐淘网上鞋城拉手网团购< a href="" class="f2"& gt;卓越网上购物凡客诚品购物& lt;a href=" /main.php" class="f1">世纪佳缘交友'''  
  3. class hp(HTMLParser):  
  4.     def handle_starttag(self,tag,attr):  
  5.         if tag=='a':  
  6.             for (att,value) in attr:  
  7.                 if att=='href':  
  8.                     print(value)  
  9.   
  10. yk=hp()  
  11. yk.feed(page)  


返回结果是:


  1. /JdClick/?unionId=75  
  2. http://  
  3. /w_3001  
  4.   
  5. /?source=hao123mp  
  6. /main.php  

--------------------------------------------------------------------------------------------------------------------------------

python 官网文档的例子:

  1. from html.parser import HTMLParser  
  2. class MyHTMLParser(HTMLParser):  
  3.       
  4.     def handle_starttag(self, tag, attrs):  
  5.         print("Encountered a {} start tag".format(tag))  
  6.     def handle_endtag(self, tag):  
  7.          print("Encountered a {} end tag".format(tag))  
  8. page = """

    Title

    I'm a paragraph!

    """
      
  9.   
  10. myparser = MyHTMLParser()  
  11. myparser.feed(page)  


运行后返回的结果:


  1. Encountered a html start tag  
  2. Encountered a h1 start tag  
  3. Encountered a h1 end tag  
  4. Encountered a p start tag  
  5. Encountered a p end tag  
  6. Encountered a html end tag  


---------------------------------------------------------------------------

显示html中之间的文字例子:

  1. from html.parser import HTMLParser  
  2. page=''''' 啊阿什顿啊乐淘网上鞋城< a href="/w_3001" class="f2">拉手网团购< /a>卓越网上购物凡客诚品购物& lt;a href=" /main.php" class="f1">世纪佳缘交友'''  
  3. class hp(HTMLParser):  
  4.       
  5.     a_txt=False  
  6.       
  7.     def handle_starttag(self,tag,attr):  
  8.         if tag=='a':  
  9.             self.a_txt=True  
  10.             #print (dict(attr))  
  11.   
  12.   
  13.   
  14.   
  15.     def handle_endtag(self,tag):  
  16.         if tag=='a':  
  17.             self.a_txt=False  
  18.   
  19.   
  20.   
  21.   
  22.               
  23.     def handle_data(self,data):  
  24.         if self.a_txt:  
  25.             print (data)  
  26.   
  27.   
  28.   
  29.   
  30. yk=hp()  
  31. yk.feed(page)  
  32. yk.close()  

运行后:
  1. 京东商城  
  2. 乐淘网上鞋城  
  3. 拉手网团购  
  4. 卓越网上购物  
  5. 凡客诚品购物  
  6. 世纪佳缘交友 

阅读(3262) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~