python3中BeautifulSoup练习

from bs4 import BeautifulSoup
import lxml

html ='<div class="left"><em class="story"><!--这是一个注释--></em></div>
<a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>'
soup = BeautifulSoup(html,'lxml')

# print(soup.prettify()) # 格式化
# beautifulsoup四大对象
print(type(soup.a.string)) #内容 类型为:'bs4.element.NavigableString'
print(type(soup.a))   # bs4.element.Tag
print(type(soup.em.string))  # 注释内容 类型为:bs4.element.Comment
print(type(soup))    # bs4.BeautifulSoup


# 多种获取html内容的方式

print(soup.find_all('a'))

print(soup.find_all(id="link2"))

print(soup.find_all('a',{'class':"sister"})) # 字典形式

print(soup.find_all('a',{'href':'http://example.com/lacie'}))

print(soup.find_all(href='http://example.com/lacie'))

print('----------------------------------select 方法返回的都是列表--------------------')

print(soup.select('a'))

print(soup.select("#link2"))  #   类名前加.,id名前加#

print(soup.select('.sister'))

print(soup.select('a' '#link2')) # 用空格隔开

print(soup.select('a[class="sister"]'))

# 直接子标签查找,则使用 > 分隔

print(soup.select("head > title"))

print('----------------------------------select 方法返回的都是列表--------------------')

print(type(soup.select('a')))  # <class 'list'>
print(soup.select('a')[0].get_text())  # Lacie3
print(soup.select("div > em")[0].string) # 取注释用string
print(soup.select("a")[0].get("href")) # str类型
print(soup.select("a")[0].get("class")) # 注意取class结果是list类型,取id是str类型
# select 方法返回的结果都是列表形式,可以遍历形式输出,然后用 get_text() 方法来获取它的内容。
for result in soup.select('#link2'):
      print(result.get_text())

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值