python爬虫之BeautifulSoup库

Python网络爬虫之BeautifulSoup库的基本结构 在使用BeautifulSoup解析HTML或XML文档时,理解其至关重要。BeautifulSoup会将整个HTML文档转换为一个,其中包含了不同类型的节点,例如标签、属性、文本等。通过解析这些节点,开发者可以轻松地提取网页中的关键信息。 阅读详情

beautifulsoup库是解析、遍历、维护“标签树”的功能库

安装,在命令提示符中输入

pip install beautifulsoup4

一般使用方法是(下面的代码环境均在idle中进行)

from bs4 import BeautifulSoup

注意B和S的大写

如果需要对需要对BeautifulSoup中的片量进行查看,也可以

import bs4

他的作用是来代表标签树的类型,html<=>标签树<=>BeautifulSoup

功能:BeautifulSoup对应一个HTML/XML文档的全部内容

1、bs4的解析器种类


2、BeautifulSoup类的基本元素


下面进行具体的解释

(1),Tag

import requests
from bs4 import BeautifulSoup
r=requests.get("http://python123.io/ws/demo.html")
demo=r.text
soup = BeautifulSoup(demo,"html.parser")
soup.title
tag = soup.a
tag
输出结果为
<a class="py1" href="http://www.icourse163.org/course/BIT-268001" id="link1">Basic Python</a>
(2)、Name

继续输入如下代码

soup.a.name
soup.a.parent.name
soup.a.parent.parent.name
会产生标签的名字,依次为a,p,body

(3)、Attributes

继续输入如下代码

tag=soup.a
tag.attrs
tag.attrs['class']
可以查看标签的属性以及具体的属性

(4)、NavigableString

继续输入如下代码

soup.p
soup.p.string
可以观察输出的结果,为标签内非属性字段

(5)、Comment

输入如下代码

newsoup=BeautifulSoup("<b><!--this is a commment--></b><p>this is not a comment</p>","html.parser")
newsoup.b.string
type(newsoup.b.string)
newsoup.p.string
type(newsoup.p.string)
比较之后久可以看出他的作用,可以看出用type可以看出类型

3、标签树的遍历,分为下行遍历、上行遍历、平行遍历;

(1)下行遍历


查看结点时,不仅仅包括标签结点,也包括字符串结点

遍历儿子结点:

for child in soup.body.children:
    print(child)
(2)标签树的上行遍历(2个属性)


 

需要注意的是:

1、html的父亲标签是自己。soup的父亲标签没有

下面给出实例代码,对a标签的所有先辈的名字进行打印

import requests
from bs4 import BeautifulSoup
r=requests.get("http://python123.io/ws/demo.html")
demo=r.text
soup=BeautifulSoup(demo,"html.parser")
for parent in soup.a.parents:
	if parent is None:
		print(parent)
	else:
		print(parent.name)
运行结果可以自己进行运行后查看
(3)\标签树的平行遍历(4个属性)


标签树平行遍历的条件:遍历必须发生在同一个父亲结点下

平行标签的下一个标签可能是字符串

soup.prettify()
这个函数可以进行显示html的标准格式、python 3.x系列采用utf-8编码
Python网络爬虫之BeautifulSoup库的使用流程和方法 在使用BeautifulSoup解析HTML或XML数据时,需要掌握其和。本节将详细介绍如何使用BeautifulSoup解析网页,包括,帮助读者掌握网页数据解析的核心技能。 阅读详情

相关推荐

Python网络爬虫与信息提取学习记录(2)——关于BeautifulSoup库的用法

BeautifulSoup库是解析、遍历、维护“标签树”的功能库。一个功能强大的爬虫库,不用正则就能方便的实现对网页具体信息的抓取。引用:        import bs4  (注意不是:import BeautifulSoup4)        from bs4 import BeautifulSoup(python是大小写敏感的语言,注意B和H的大写)BeautifulSoup类的基本元素:...

重邮小菜鸟的博客 1588

Beautiful Soup库的使用(学习笔记)

Beautiful Soup库的简介 BeautifulSoup库是解析、遍历、维护“标签树”的功能库。 可以说BeautifulSoup类对应一个HTML/XML文档的全部内容。 Beautiful Soup库安装 只需运行:pip install beautifulsoup4 小测试: 1.先用爬虫爬下来一个网页: import requests r = requests.get("http://python123.io/ws/demo.html") r.text 2. 将网页的内容作为参数传给d

RM_Jin的博客 738

Python 网络爬虫进阶教学全指南

本次博客将深入探究 Python 网络爬虫的核心知识与实用技巧,引领大家从入门迈向精通

安年的小小博客有大大的梦想 4030

python爬虫----BeautifulSoup(第二十天)

🎈🎈作者主页:🎈🎈🎈🎈✨✨兄弟姐妹们,大家好哇!今天我们来学习python爬虫解析的最后一部分—BeautifulSoup的相关知识。

喔的嘛呀的博客 1465

3个PLC进阶教程实战项目,学完立即接私单!

此处应插入清晰的硬件电路图,包含土壤湿度传感器、水泵、PLC的输入输出端子,并标注清晰的接线方式。同样的,也需要插入清晰的梯形图,用简单的逻辑表达控制过程,比如:土壤湿度传感器信号低于设定值 -> PLC输出信号 -> 水泵启动。我是老王,一个在自动化行业摸爬滚打多年的老工程师,今天咱们不聊那些枯燥的理论,直接上手三个PLC进阶实战项目,学完保证你信心满满,立马就能接私单!想想你家里的空调,它也是通过检测室温,并根据设定的温度进行制冷或制热,这个项目就是类似的原理。

qq_38220914的博客 1469

保姆级教程:在S32DS 3.4上安装S32K3xx RTD 4.4驱动包(附常见安装失败排查)

本文提供在S32DS 3.4上安装S32K3xx RTD 4.4驱动包的详细教程,涵盖环境准备、分步安装指南及常见问题排查。特别针对NXP S32K3系列MCU开发者,解决网络问题、路径配置等安装难点,并分享进阶配置技巧和最佳实践,助力高效开发。

weixin_42696271的博客 287

Python爬虫之 BeautifulSoup解析模块(方法篇)

在HTML代码中获取比较复杂的内容时,可以使用find_all()方法、find()方法,以及其他的一些方法,通过调用这些方法,并传入指定的参数,即可灵活的获取标签中内容。一、find_all()方法Beautiful Soup提供了一个find_all()方法,该方法可以获取所有符合条件的内容。在find_all()方法中,常用参数分别是name、attrs以及text,下面将具体介绍重要参数的用法。

白帽阿叁的博客 834

C#面试题及详细答案120道(61-75)-- 多线程与异步

本文摘要了前后端面试题中关于线程与并发的核心知识点,包括线程与进程的区别(61题)、Thread/ThreadPool/Task的对比(62题)、线程安全实现方法(63题)、lock关键字的原理(64题)、Monitor类的进阶用法(65题)以及死锁的成因与避免(66题)。通过C#代码示例和表格对比,清晰展示了多线程编程的关键概念、应用场景及常见问题解决方案,适合开发者快速掌握面试高频考点。完整内容可访问专栏目录获取更多技术面试题解析。

大剑师兰特的GIS世界 1429

Python爬虫:BeautifulSoup库

Beautiful Soup的简介 Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: 1、Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。 2、Beautiful Soup自动将输...

不怕猫的耗子A 2万+

三维点云转深度图

点云投影过程是将三维点云数据转化为二维图像坐标的关键步骤,它的实现涉及到相机内外参数的计算,包括相机的内部参数(如焦距和主点)和外部参数(如相机位置和方向)。具体来说,可以通过将每个点的三维坐标转换为相机坐标系下的坐标,然后使用相机内部参数和外部参数来计算在二维图像中的坐标。接着计算每个点的深度值,将深度值映射到像素值上,最后创建深度图像并将深度值赋给对应的像素值。这里需要注意的是,在将深度值映射到像素值上时,需要将像素值转换为 uchar 类型,否则在将深度值赋给像素值时会出现类型不匹配的错误。

点云兔子的博客 3171

IPCP(IP Control Protocol,IP控制协议)

IPCP(IP Control Protocol,IP控制协议)

天赐好车的博客 754

Beautiful Soup 解决爬虫编码格式问题,Beautiful Soup编码格式

一。 为什么要用解析框架 bs4   我觉得爬虫最难得问题就是编码格式,因为你不知道要爬取目标网站的编码格式,有可能是Unicode,utf-8, ASCII , gbk格式,但是使用Beautiful Soup解析后,文档都被转换成了Unicode,通过Beautiful Soup输出文档时,不管输入文档是什么编码方式,输出编码均为UTF-8编码,因为 Beautiful Soup...

aini4568的博客 1097

基于PCL、Open3d、Easy3d 、VTK等常见开源库的QT开发

PCL+QT开发

阁楼 2万+

【Python网络爬虫】使用requests和beautifulsoup4库轻松实现

如何用Python编写网络爬虫?python提供了很方便的库来帮助我们实现很多复杂的功能。在编写网络爬虫的过程中,我们可以使用requests来与网站交互并获取网页的源代码,再使用beautifulsoup4对得到的网站源代码(通常是html)进行处理来获取所需要的内容。下面进行详细的介绍。关于网页的基础知识url(Uniform Resource Locator)也就是我们平时所说的域名,也就是...

weixin_40841416的博客 2977

按照CANoe模板制作seed&&key.dll

在canoe进行诊断测试的时候,在0x27服务中需要制作一个dll文件。可在canoe的诊断中进行加载,也可用于diva的自动化测试。 本文按照canoe提供的KeyGenDll_GenerateKeyEx模板制作。 KEYGENALGO_API VKeyGenResultEx GenerateKeyEx( const unsigned char* iSeedArray, /* Array for the seed [in] */ unsigned int

天赐好车的博客 6520

Dify智能体开发:发布嵌入网站

Dify 支持将你的 AI 应用嵌入到业务网站中,你可以使用该能力在几分钟内制作具有业务数据的官网 AI 客服、业务知识问答等应用。点击 WebApp 卡片上的嵌入按钮,复制嵌入代码,粘贴到你网站的目标位置。

王国平的博客 3243

初探:Python中使用request和BeautifulSoup库进行网络爬虫

说起网络爬虫,Python中最底层的应该是urllib,但是语法结构有些繁琐,需要使用正则。而使用request和BeautifulSoup库进行网络爬虫,发现这真的是web开发人员的福音。凡是懂一些前端知识的人来说,使用request和BeautifulSoup库进行爬虫,真的有一种开心而愉快的感觉。 requests 主要是一个封装好了http功能的库, 可以实现基本的http操作。 be...

小小梦想家 3821

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python 爬虫库 beautifulsoup4_Python:requests库、BeautifulSoup4库的基本使用(实现简单的网络爬虫)...

Python:requests库、BeautifulSoup4库的基本使用(实现简单的网络爬虫)一、requests库的基本使用requests是python语言编写的简单易用的HTTP库,使用起来比urllib更加简洁方便。requests是第三方库,使用前需要通过pip安装。pip install requests1.基本用法:importrequests#以百度首页为例response= r...

weixin_39801165的博客 1401

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python日记Day21——网络爬虫之BeautifulSoup库

python日记——网络爬虫之BeautifulSoup库 BeautifulSoup库入门 1、基本使用: 2、BeautifulSoup库的基本元素 (1)Beautiful Soup库是解析、遍历、维护“标签树”的功能库 (2)Beautiful Soup库的解析器: (3)BeautifulSoup库的基本元素: 1)任何存在于HTML语法中的标签都可以用soup.tag访问获得,...

weixin_43872109的博客 382

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python爬虫的BeautifulSoup库详解

文章目录1.解析库2.基本使用3.标签选择器3.1选择元素3.2获取名称3.3获取属性3.4获取内容3.5嵌套选择3.6子节点和子孙节点3.7父节点和祖先节点3.8兄弟节点4标准选择器4.1find_all( name , attrs , recursive , text , **kwargs )4.1.1name4.1.2attrs4.1.3text4.2find( name , attrs ,...

一行玩python 3万+

python网络爬虫学习——BeautifulSoup库

假如返回结果是多个节点的生成器,则能够转为列表后取出某个元素,再调用string、attrs等属性取得对应节点的文本和属性。运用import从bs4中导入BeautifulSoup库,利用open函数打开存放在本地的网页文件所在位置,随后使用BeautifulSoup解析网页,解析完毕打印相应的网页数据。在做选择的时候,有时候不能做到一步就选到想要的节点元素,需要先选中某个节点元素,而后以它为基准再选择它的子节点、父节点、兄弟节点等。要获得某个节点元素的父节点,可以调用parent属性。

maizeman126的博客 670

Python网络爬虫之BeautifulSoup库

Python网络爬虫之BeautifulSoup库BeautifulSoup是Python的第三方库,可以对HTML和XML格式的内容进行解析,并且提取其中的相关信息。BS可以对被提供的任何格式的内容进行爬取,并且进行树形解析。

loongkingwhat的博客 740

Python网络爬虫BeautifulSoup库和Re库入门

目录Beautiful Soup库入门与实战Beautiful Soup库安装Beautiful Soup库的基本元素基于bs4库的HTML内容遍历方法基于bs4库的HTML格式输出基于bs4库的HTML内容查找方法Beautiful Soup库实战之中国大学排名定向爬虫Re库入门与实战 Beautiful Soup库入门与实战 Beautiful Soup库安装 pip install bea...

Divine0的博客 2008

python爬虫(BeautifulSoup库入门)

最近在学习爬虫,本篇是MOOC中的北理嵩天老师的课程笔记:python网络爬虫与信息提取。 适合小白入门BeautifulSoup库,阅读全篇需要6、7分钟。 欢迎大佬指正,谢谢哦~ Beautiful Soup(bs4) 1. 基础知识 它是一个用于解析html 和 xml 的功能库。 1.1首先,我们知道html文件,是由一对对的&lt;&gt;组成的,所以,我们又可以说,Beautifu...

weixin_43983838的博客 873

python网络爬虫三BeautifulSoup库 及其实例操作

导学 requests库与beautiful soup库结合使用解析html页面 安装命令pip install beautifulsoup4 单元4:Beautiful Soup库入门 beautifulsoup4库的安装 演示hmtl页面地址:http://python123.io/ws/demo.html 识别出源代码 import requests r = requests.get('http://python123.io/ws/demo.html') print(r.text) 解析出的html

Barry_kk的博客 1120
上一篇: 深入了解windows句柄
下一篇: python正则表达式
code_AC
博客等级 码龄12年 255粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值