#本文件用来记录bs4的用法
# from bs4 import BeautifulSoup
# 使用方法:将一个html文档,转化为指定对象,然后通过对象的方法或属性去查找指定的内容
# 转化本地文件:
# soup = BeautifulSoup(open('本地文件', 'lxml'))
# 转化网络文件:
# soup = BeautifulSoup('字符串类型或字节类型', 'lxml')
# (1)根据标签名查找
# soup.a 只能找到第一个符合要求的标签
# (2)获取属性
# soup.a.attrs 获取所有的属性和值,返回一个字典
# soup.a.attrs['href'] 获取href属性
# soup.a['href']也可简写为这种形式
# (3)获取内容
# soup.a.string
# soup.a.text
# soup.a.get_text()
# 如果标签中还有标签,则string获取不到结果,而其他两个可以获取文本内容
# (4)find
# soup.find('a') 找到第一个a
# soup.find('a', title="xxx") 找到第一个符合要求title="xxx"的a
# soup.find('a', class_="xxx") 由于class是关键字,所以要在后面加一个下划线来转义
#
# find的方法不仅soup可以调用,普通的div对象也可以调用,会去指定的div里面去查找符合要求的节点
# find找到的都是第一个符合要求的标签
# (5)find_all
# div = soup.find('div', class_="tang")
# div.find_all('a')找出所有的含有a的
# div.find_all(['a','b'])找出同时有a和b的
# div.find_all('a', limit=2)找出前2个a
# find_all找到的是列表,因此需要把里面的元素一个一个地拿出来,然后才可以用['href']之类提取属性的方法
# (6)select
# 根据选择器找到指定的内容
# 常见的选择器:标签选择器、类选择器、id选择器、组合选择器、层级选择器、属性选择器
# 标签选择器:a
# 类选择器:.dudu
# id选择器:#lala
# 组合选择器:a, .dudu, #lala, .meme
# 层级选择器:div .dudu #lala .meme .xixi
# div > p > a > .lala(只限制你下一级,层次结构清晰)
# 属性选择器:input[name='lala']
# select选择器返回的永远是列表,需要通过下标提取指定的对象,然后获取属性和节点,通常是带标签的,要获取内容,参照上面的.text等
# 该方法也可以通过普通对象调用,找到的都是这个对象下面符合要求的所有节点
bs4的基本用法
最新推荐文章于 2024-08-12 23:17:41 发布