beautifulsoup的基本使用
# _*_ coding : utf-8 _*_
# @Time : 2022/5/4 12:43
# @File : 75_bs4的基本使用
# @Project : demo1
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("70_xPath的基本使用.html", encoding="utf8"), "lxml")
# 获取第一个li标签
print(soup.li)
# 获取标签的属性和属性值,将属性值作为一个字典返回
print(soup.li.attrs)
# bs4的一些函数
# find
print(soup.find("li", id="shanghai")) # 返回的是第一个符合条件的数据
# find_all
print(soup.find_all("li", class_="shang")) # class在python是关键字,因此要代表class可以在后边加_
# print(soup.find_all(["li", "ul"],limit=2))
# select(推荐使用)
# select方法返回的是一个列表并且会返回多个数据
print(soup.select("li"))
print(soup.select(".shang")) # 可以通过.代表class,类选择器
print(soup.select("#beijing"))
print(soup.select("li[class=shang]")) # 属性选择器
print(soup.select("ul li")) # 后代选择器
print(soup.select("div > ul > li")) # 某标签下的第一级标签
print(soup.select("div,li")) # 找到对应标签下的内容
print(soup.select("div,li"))
# 如果标签对象中只有内容,两者通用
# 如果标签对象中有标签,则只能通过get_text()获取内容
print(soup.select("li")[0].string)
print(soup.select("li")[1].get_text())
# name是标签的名字
print(soup.select("li")[1].name)
# 获取节点的属性的三种方式
print(soup.select("li")[1].get("class"))
print(soup.select("li")[1].attrs.get("class"))
print(soup.select("li")[1]["class"])
评论区