1、打开cmd命令提示符,输入安装的第三方库:pip install bs4,安装成功后,就可以使用其中的BeautifulSoup解析网页
基本语法:
初始化BeautifulSoup对象
from bs4 import BeautifulSoup
html = “”
page = BeautifulSoup(html,“html.parser”)
a = page.find(“标签名”,attrs={“属性”:“值”})#只查找一个结果
page.find_all(“标签名”,attrs={“属性”:“值”})#查找一堆结果
#获取文本
text = a.text
#获取属性
att = a.get(“属性名”)
2、如何使用find查找:
案例1
from bs4 import BeautifulSoup
html = """
soup
"""= BeautifulSoup(html, "html.parser")
table = soup.find("div", attrs={"id": "menu2"})
lis = table.text.strip()
print(lis)
输出结果:
C:\Programs\Python\vis\Scripts\python.exe "D:/pythonTest/test01/python base4.py"
最新影片2
经典影片2
国内电影2
欧美电影2
华语电视2
日韩电视2
Process finished with exit code 0
3、如何使用find_all全部查找案例分析:
需要注意的,table.find_all(“tr”)[1:]代表table标签从第1个元素,查找tr标签内容
from bs4 import BeautifulSoup
html = """
品名
产地
单位
发布日期
蔬菜
冀
斤
2022-07-19
蔬菜
冀
斤
2022-07-19
蔬菜
冀
斤
2022-07-19
品名
产地
单位
发布日期
蔬菜1
冀
斤
2022-07-19
蔬菜2
冀
斤
2022-07-19
蔬菜3
冀
斤
2022-07-19
"""
soup = BeautifulSoup(html, "html.parser")
# 查找table标签,id=test3
table = soup.find("table", attrs={"id": "test3"})
# 从出现的tr第1个元素查找,第0个元素是属性名称
trs = table.find_all("tr")[1:]
# 循环遍历出trs中的值
for i in trs:
# 查找所有td标签
tds = i.find_all("td")
print(tds[0].text, tds[1].text, tds[2].text, tds[3].text)
输出结果:
C:\Programs\Python\vis\Scripts\python.exe D:/pythonTest/test01/base64.py
蔬菜1 冀 斤 2022-07-19
蔬菜2 冀 斤 2022-07-19
蔬菜3 冀 斤 2022-07-19
Process finished with exit code 0
免费源码获得:关注微信公众号:ancenok,然后回复:021