import urllib2 from sgmllib import SGMLParser class ListName(SGMLParser): def __init__(self): SGMLParser.__init__(self) self.is_h4="" self.name=[] def start_h4(self,attrs): self.is_h4=1 def end_h4(self): self.is_h4="" def handle_data(self,text): if self.is_h4==1: self.name.append(text)#content = urllib2.urlopen('http://list.taobao.com/browse/cat-0.htm').read()listname = ListName()listname.feed(content)for item in listname.name: print item.decode('gbk')
显示以下内容:
虚拟票务
数码市场家电市场女装市场男装市场童装童鞋女鞋市场男鞋市场内衣市场箱包市场服饰配件珠宝饰品美容市场母婴市场家居市场日用市场食品/保健运动鞋服运动户外汽车摩托玩具市场文化用品市场爱好市场生活服务---------------------
另一种方式:
pyQuery
是jQuery在python中的实现,能够以jQuery的语法来操作解析HTML文档,十分方便。使用前需要安装,easy_install pyquery即可,或者Ubuntu下
sudo apt-get install python-pyquery |
以下例子:
from pyquery import PyQuery as pyqdoc=pyq(url=r'http://list.taobao.com/browse/cat-0.htm')cts=doc('.market-cat') for i in cts: print '====',pyq(i).find('h4').text() ,'====' for j in pyq(i).find('.sub'): print pyq(j).text() , print '\n' --------------- (转)