python中bs4.BeautifulSoup的基本用法

yipeiwu_com6年前Python基础

导入模块

from bs4 import BeautifulSoup
 
soup = BeautifulSoup(html_doc,"html.parser")

下面看下常见的用法

print(soup.a)
  # 拿到soup中的第一个a标签
 
 
 
  print(soup.a.name)
  # 获取a标签的名称
 
 
  print(soup.a.string)
  # 获取a标签的文本内容
 
 
  print(soup.a.text)
  # 获取a标签的文本内容
 
 
  print(soup.a["href"])
  # 获取a标签的href属性的值
 
  print(soup.a.get("href"))
  # 查找第一个a标签的href的属性
 
  print(soup.a.attrs)
  # 获取a标签的所有的属性,返回一个字典
 
 
 
  print(soup.find("a"))
  # 查找第一个a标签
 
 
  print(soup.find_all("a"))
  # 查找所有的a标签
 
 
  print(soup.find_all(id="a1"))
  # 查找所有的的id为a1的标签
 
 
  print(soup.find_all(class_="sistex"))
  # 这里需要注意,如果需要通过class去查找,则需要一个下划线
 
 
  print(soup.find_all(["a","p","br"]))
  # 查找所有的啊标签,p标签和br标签
 
 
  soup.find("a").attrs["class"] = "2b"
  # 修改某个标签的属性值
 
  del soup.find(id="a1").attrs["class"]
  # 删除某个标签的class属性
import re
 
soup.find(re.compile("b"))
# 标签中有b这个字符的标签
 
 
soup.select("a.syster")
# 这个可以放标签选择器
 
soup.select(".syster .abcd")
# 这个可以放标签选择器
 
 
soup.find("a").decompose()
# 从当前字符串中删除第一个a标签,是在原位置进行删除

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

分析python动态规划的递归、非递归实现

概要 本文只是简单的介绍动态规划递归、非递归算法实现 案例一 题目一:求数组非相邻最大和 [题目描述] 在一个数组arr中,找出一组不相邻的数字,使得最后的和最大。 [示例输入]...

python修改list中所有元素类型的三种方法

修改list中所有元素类型: 方法一: new = list() a = ['1', '2', '3'] for x in a: new.append(int(x)) print(...

Python中的zip函数使用示例

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例: 1.示例1: 复制代码 代码如下: x = [1, 2, 3] y...

在Python中利用pickle保存变量的实例

在Python中利用pickle保存变量的实例

在工作中出于某些原因,我们可能需要将变量保存下来,这样下次就可以直接去赋值而不用重新执行某些重复耗时的操作了,这里我们用到了Python的pickle包来做变量的存储和变量加载,大家注意...

python采集博客中上传的QQ截图文件

哎,以前写博文的时候没注意,有些图片用QQ来截取,获得的图片文件名都是类似于QQ截图20120926174732-300×15.png的形式,昨天用ftp备份网站文件的时候发现,中文名在...