1、实例化本地文件
使用BeautifulSoup.tagName可以直接获取tagName便签,或者使用find()函数,相同的还有select()函数,查找所以的有find_all()函数。在find()和select()函数中可以进行条件查找‘class_’代表class属性,‘id’代表id属性或者直接用‘.id’来实现。
from bs4 import BeautifulSoup
fp = open('./demo.html', 'r', encoding='utf-8') #打开html文件
soup = BeautifulSoup(fp, 'lxml') #直接实例化html文件
print(soup.a) #soup.tagName 返回的是html中第一次出现的tagName标签
print(soup.div)
soup.find('tagName')#等同于soup.div
print(soup.find('div',class_='song').string)
print(soup.find_all('a'))
print(soup.select('.tang'))
2、实例化网页数据
pip install lxml,安装lxml包
from bs4 import BeautifulSoup
import lxml
page_text = response.text
soup = BeatifulSoup(page_text,'lxml')
- soup.tagName:返回的是文档中第一次出现的tagName对应的标签
- soup.find():
- find(‘tagName’):等同于soup.div
- 属性定位:
- soup.find(‘div’,class_/id/attr=‘song’)
- soup.find_all(‘tagName’):返回符合要求的所有标签(列表)
- select:
- select(‘某种选择器(id,class,标签…选择器)’),返回的是一个列表。
- 层级选择器:
- soup.select(’.tang > ul > li > a’):>表示的是一个层级
- oup.select(’.tang > ul a’):空格表示的多个层级
引用:https://www.bilibili.com/video/av201359909
本项目GitHub