bs4使用

#author:Adminstrator
#date: 2019/8/20
from bs4 import BeautifulSoup
#生成对象
#soup= BeautifulSoup(open('美味汤.html'), 'lxml')
soup = BeautifulSoup(open('美味汤.html', encoding='utf8'), 'lxml')
#print(soup)#soup对象中有__str__方法,虽然soup是对象类型,但打印出的事字符串

#1.根据标签名进行查找,只能找到第一个
#print(soup.div)
# #2、获取属性
# print(soup.a['href'])
# print(soup.a['title'])
# print(soup.a['target'])
# print(soup.a.attrs)#字典形式返回所以属性
# print(soup.a.attrs['href'])
#
# #3 获取内容
# print(soup.a.text)
# print(soup.a.string)
# print(soup.a.get_text())
# print(soup.div.text)
# print(soup.div.string)#如果标签还有标签,那么string获取到的结果为None,而其他两个,可以获取文本内容
# print(soup.div.get_text())

#4.find方法
# print(soup.find('a'))#找到第一个符合要求的a
# print(soup.find('a', title='qin'))#title='qin'的a标签
# #print(soup.find('a',class="du"))#class为python关键字,不能用
# print(soup.find('a',class_="du"))#改成class_
#
# div=soup.find('div',class_='tang')
# print(div.find('a',class_='du'))#找的是div里面符合要求的a
'''
find 方法不仅soup可以调用,普通的div对象也可以调用,会去指定的div里面去查找符合要求的节点
find只能找到范围内第一个符合要求的标签
'''

#5、find_all用法,找到所有的a标签
# print(soup.find_all('a'))
# print(soup.find_all('a'), len(soup.find_all('a')))

div = soup.find('div', class_='tang')
#print(div.find_all('a'))
# print(div.find_all(['b', 'i']))#以列表形式返回
# print(div.find_all('a',limit=2))#找到所以取前两个


#6、select用法
#print(soup.select('.tang>ul>li>a'))#返回的是一个列表
# print(soup.select('.tang>ul>li>a')[2])
# print(soup.select('#feng'))#id选择器,返回一个列表
print(soup.select('#feng')[0].text)#取文本
print(soup.select('#feng')[0]['href'])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值