python 搜索页面标签

本文介绍了如何利用pyQuery库和正则表达式从淘宝的商品分类页面提取各类市场名称,包括虚拟票务、数码市场、家电市场等,并提供了两种实现方法。
 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

pyQuery是jQuery在python中的实现,能够以jQuery的语法来操作解析HTML文档,十分方便。使用前需要安装,easy_install pyquery即可,或者Ubuntu下

sudo apt-get install python-pyquery

以下例子:

from pyquery import PyQuery as pyq
doc=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'
---------------
(转)

转载于:https://www.cnblogs.com/xmyy/articles/2839363.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值