bs4数据解析原理:
– 实例化一个BeautifulSoup对象,并且将页面数据源码数据加载到该对象中
– 通过调用BeautifulSoup对象中的相关的属性或者方法进行标签定位和数据提取
环境安装:
– pip install bs4
– pip install lxml
如何实例化BeautifulSoup对象:
– from bs4 import BeautifulSoup
– 对象实例化:
– 1 将本地的html文档中的数据加载到该对象中
fp = open("./jay.html",'r',encoding="utf-8")
Soup = BeautifulSoup(fp,'lxml')
-- 2 将互联网上获取的页面源码加载到该对象中
page_text = requests.text
Soup = BeautifulSoup(page_text,'lxml')
-- 提供的用于数据解析的方法和属性
-- Soup.tagName 返回的是文档中第一次出现的tagName
-- Soup.find find(“tagName”)等同于soup.div
-- 属性定位:
print(soup.find("div",class_/id/其他属性= "XXXXX"))
-- soup.find_all(“tagName”) 返回的是所有的符合要求的标签(列表)
-- soup.select ("某种选择器(id class 标签)”):返回的是一个列表
其中>表示的是一个层级。 空格表示的是多个层级。
-- 获取标签之间的文本数据:
-- soup.a.text/string/get_text()
-- text/get_text(): 可以获取某一标签下的所有的文本内容
-- string: 只获取标签下的直系文本内容
-- 获取标签中属性值:
-- soup.a["href"]