创建爬虫----复杂HTML解析

BeautifulSoup的find()和findAll()

可通过标签的不同属性轻松的过滤HTML页面,查找需要的标签组或单个标签

#findAll(tag,attributes,recursive,text,limit,keywords)
#find(tag,attributes,recursive,text,keywords)
#爬取大众点评的一页信息
from urllib.request import urlopen
from bs4 import BeautifulSoup
html=urlopen("http://www.dianping.com/shop/2484325/review_more_5star?pageno=1")
bsObj=BeautifulSoup(html)

nameList=bsObj.findAll("div",{"class":"J_brief-cont"})
for name in nameList:
     print(name.get_text())

运行结果如下

#相关小知识
#1.递归参数recursive是一个布尔变量,recursive=true,会查找标签参数的所有子标签,以及子标签的子标签。recursive=false,只查找文档的一级标签。
 2.nameList=bsObj.findAll(text="the prince")
 print(len(namelist))#查找网页包含"the prince"内容的标签数量;
 3.find等价于findall的limit=1的情形
 4.关键参数keyword,选择那些具有指定属性的标签。
 eg.  allText=bsObj.findAll(id="text")
       print(allText[0].get_text())
       等价于:allText=bsObj.findAll("",{"id":"text"})

allText=bsObj.findAll(class_="green")等价于:
allText=bsObj.findAll("",{"class":"green"})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值