beautifulsoup html内容_Python爬虫:有了 BeautifulSoup ,再也不用担心我的正则表达式了...

7e398d49256047779f8686155dc68f51

有些朋友觉得

这是小编准备的python爬虫学习资料,关注,转发,私信小编“01”即可获取!

006f4daeff084983a544df6cf4cf48c2

利用正则表达式去提取信息

太特么麻烦了

4ac4319f1ccd46089ed05b10d2f7c33d

有没有什么别的方式

更方便过滤我们想要的内容啊

emmmm

你还别说

还真有

有一个高效的网页解析库

它的名字叫做

BeautifulSoup

那可是

082eab7f4f124d619a37908364c0d436

是一个可以从 HTML 或 XML 文件中提取数据的 Python 库

那么这么玩呢

...

接下来就是

学习python的正确姿势

c99b386e0ee843f7bea94e77fe9f06fc

首先我们要安装一下这个库

pip install beautifulsoup4

beautifulsoup支持不同的解析器

比如

对 HTML 的解析

对 XML 的解析

对 HTML5 的解析

你看

0a9c172b14c9404fa44295527d5fe376

一般情况下

我们用的比较多的是 lxml 解析器

我们先来使用一个例子

让你体验一下

beautifulsoup 的一些常用的方法

可流弊了呢

f4d0ad04e0e54cafb82f3c80470a2a5b

比如我们有这样一段 HTML 代码

html_doc = """学习python的正确姿势

小帅b的故事

有一天,小帅b想给大家讲两个笑话一个笑话长,一个笑话短 ,他问大家,想听长的还是短的?

...

"""

在不使用 re 来进行正则表达式的情况下

如何快速获取到我们想要的内容呢?

先安装一下

pip install beautifulsoup4

pip install lxml

接着将 html 的源代码传给 BeautifulSoup

soup = BeautifulSoup(html_doc,'lxml')

此时此刻

就不需要自己写正则匹配了

7ece6bf4118d424186c560240aed7bd2

我们要做的就是从这个对象直接获取我们要的内容

获取标题的内容

print(soup.title.string)#学习python的正确姿势

获取 p 标签里面的内容

print(soup.p.string)#小帅b的故事

获取 title 的父级标签

print(soup.title.parent.name)#head

获取超链接

print(soup.a)#一个笑话长

获取所有超链接

print(soup.find_all('a'))#[一个笑话长, 一个笑话短]

获取 id 为 link2 的超链接

print(soup.find(id="link2"))#一个笑话短

获取网页中所有的内容

print(soup.get_text())# 学习python的正确姿势小帅b的故事有一天,小帅b想给大家讲两个笑话一个笑话长,一个笑话短 ,他问大家,想听长的还是短的?...

除了find方法之外

如果你对css比较熟悉

也可以使用 select 方法

soup = BeautifulSoup(html_doc,'lxml')print(soup.select("title"))print(soup.select("body a"))print(soup.select("p > #link1"))

以上就是 BeautifulSoup 常用的方法

想进一步了解可以到这

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

有了它

妈妈再也不用担心我的正则表达式了

下次还有人这样问你

年轻人,不会正则表达式你睡得着觉?有点出息没有?

你可以傲娇的告诉他

590e1f3c75824178b13f149caf9c4b73

睡得着

本篇完

再见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值