bs可以解析本地文件也可以解析服务器文件
节点定位:
1.根据标签名查找节点
soup.a 只能查找第一个
soup.a.name
2.函数
1..find返回一个对象
2..find_all 返回一个列表
3..select根据选择器得到对象
3.1直接写element
3.2.class
用.来表示 class
3.3 用#选择id
4.层级选择器
空格 代表后代
大于 代表第一级子标签 记得加空格
等于
节点信息
1.获取节点内容
obj.string
obj.get_text()
2.节点的属性
tag.name 获取标签名
3.获取节点属性
obj.attrs.get('title')
obj.get('title')
obj.['title']
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("a.html", encoding="utf-8"), 'lxml')
print(soup.p)
print(soup.p.attrs)
# find函数--返回第一个符合条件的数据
print(soup.find('p'))
print(soup.find('p', class_="a1"))
# find_all函数
print('----')
print(soup.find_all('p'))
# select函数
# select方法返回的是一个列表,并且返回多个数据
# 可以通过.代表class,这种叫类选择器
print(soup.select('.p'))
print(soup.select('#q'))
# 属性选择器,查找p中有id的标签
print('1', soup.select('p[id="q"]'))