首页 > 其他分享 >BeautifulSoup数据解析

BeautifulSoup数据解析

时间:2023-04-11 22:14:44浏览次数:36  
标签:res URL 标签 BeautifulSoup bs 解析 数据 find

BeautifulSoup数据解析

1、安装

pip install bs4

2、导入

 from bs4 import BeautifulSoup

3、提取子页面的URL

子页面的URL如果开头是/,直接在前面拼接上域名

子页面的URL如果不是/开头,此时需要找到主页面的URL,去掉最后一个/后面的所有内容,再和当前获取的URL拼接。

4、使用BeautifulSoup

(1)解析

res = requests.get(url)
res.encoding = "utf-8"  # 解决乱码问题

# 初始化BeautifulSoup对象
bs = BeautifulSoup(res.text,"html.parser")  # res.text是提取的源代码

注:这里一般只使用“utf-8”和"gbk"两种编码格式

(2)查找

bs.find("标签名")  # 查找第一个标签
bs.find("标签名",attrs={"属性名":"属性值"})  # 查找属性名等于属性值的标签

# find与find_all用法是类似的
bs.find_all("标签名")  # 查找所有指定标签

# 按层查找
div = bs.find("标签名")
a = div..find("标签名")

(3)取值

a.text()  # 取文本
a.get("属性名")  # 取属性

4、示例

image-20230411211931361

标签:res,URL,标签,BeautifulSoup,bs,解析,数据,find
From: https://www.cnblogs.com/dxmstudy/p/17307940.html

相关文章

  • xpath数据解析
    xpath解析xpath是一种在XML文档中査找信息的语言,可用来在XML文档中対元素和属性进行遍万。HTML属于XML的一个子集。1、导入fromlxmlimportetree#如果导入报错,则使用以下方式fromlxmlimporthtmletree=html.etree2、创建xpath对象#解析XML文件et=etree.XML......
  • 数据库3.69到3.96例程
    3.69将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。3.70将学生张成民的信息插入到Student表中已经存在在表中3.71插入一条选课记录('200215128','1')3.72对每一个系,求学生的平均年龄,并把结果存入数据库3.73将学生200215121的年龄......
  • sqlalchemy快速插入数据,scoped_session线程安全,加载类上的装饰器,基本增删改查,django中
    今日内容sqlalchemy快速插入数据sqlalchemy是什么orm框架,跟其他web框架没有必然联系,可以独立使用安装,快速使用,执行原生sql创建表和删除表不能创建数据库不能修改字段(增加,删除)使用orm插入第一步:生成engine对象engine=create_engine("mysql+pymysql://[email protected].......
  • SqlSugar-C#版_SeedData(种子数据)
    ///<summary>///导入种子数据///注:批量不可用(指定Entity名时功能可用,通过“classNameSpaces”批量导入时功能不可用)///①DBSeed文件使用json文件保存;///②一张表一个DBSeed文件;///③文件名字与表名保持一致;......
  • var exitFn: Int => Unit = (exitCode: Int) => System.exit(exitCode)解析
    varexitFn:Int=>Unit=(exitCode:Int)=>print(exitCode)上边代码看上去挺费劲的,不过后来稍有所悟,记录于此。varexitFn:Int=>Unit这里定义了一个可变函数exitFn,参数是一个Int类型的值,返回Unit类型的值,这个Unit类型和java中的void的有点像,就是不需要返回数据。那么它......
  • spark stream冷启动处理kafka中积压的数据
    因为首次启动JOB的时候,由于冷启动会造成内存使用太大,为了防止这种情况出现,限制首次处理的数据量spark.streaming.backpressure.enabled=truespark.streaming.backpressure.initialRate=200forexample:#!/bin/shTaskName="funnel"UserName="hadoop"cd`dirname$0`nohupsudo......
  • 52 openEuler搭建PostgreSQL数据库服务器-管理数据库角色
    52openEuler搭建PostgreSQL数据库服务器-管理数据库角色52.1创建角色可以使用CREATEROLE语句或createuser来创建角色。createuser是对CREATEROLE命令的封装,需要在shell界面执行,而不是在数据库界面。CREATEROLErolename[[WITH]option[...]];createuserrolename......
  • 基于PSO粒子群算法优化RBF网络的数据预测matlab仿真
    1.算法描述1985年,Powell提出了多变量插值的径向基函数(RBF)方法。径向基函数是一个取值仅仅依赖于离原点距离的实值函数,也可以是到任意一点c的距离,c点称为中心点。任意满足上述特性的函数,都可以叫做径向基函数。一般使用欧氏距离计算距离中心点的距离(欧式径向基函数)。最常用的径向......
  • 基于PSO粒子群算法优化RBF网络的数据预测matlab仿真
    1.算法描述      1985年,Powell提出了多变量插值的径向基函数(RBF)方法。径向基函数是一个取值仅仅依赖于离原点距离的实值函数,也可以是到任意一点c的距离,c点称为中心点。任意满足上述特性的函数,都可以叫做径向基函数。一般使用欧氏距离计算距离中心点的距离(欧式径向基函数)。......
  • 数据库管理平台archery搭建
    #######################################archery是一款Django+Python+Bootstrap的Web应用搭建archery并不是一件简单的事,要想搭建一个高可用,需要做更多MySQLRedisGolangPythonkeepalived               ##############################......