首页 > 编程语言 >【Python 库】bs4的使用

【Python 库】bs4的使用

时间:2022-12-28 17:36:48浏览次数:39  
标签:__ soup Python class bs4 选择器 使用 find select

和lxml一样,BeautifulSoup也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。


BeautifulSoup,是一个第三方的库,所以使用之前需要安装,安装方法,输入cmd,调出黑窗口,输入:

pip install bs4

它的作用是能够快速方便简单的提取网页中指定的内容,给我一个网页字符串,然后使用它的接口将网页字符串生成一个对象,然后通过这个对象的方法来提取数据。


具体的使用情况请看如下演示代码:

# !/usr/bin/env python
# _*_ coding:utf-8 _*_


from bs4 import BeautifulSoup
import re


def bs_method():
html = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title" name="dromouse"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1"><!-- Elsie --></a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""


# 1.转换类型
soup = BeautifulSoup(html, "lxml")
# 2.find -->只找一个复合条件
p = soup.find("p")
p = soup.find(attrs={"class":"title"})
p = soup.find(text="...")
p = soup.find(re.compile("^b"))


# 3.findall-->列表 全局搜索
p = soup.find_all("p")
# print len(p)


# 4.select-->列表 全局搜索 CSS 选择器
#ID
#标签
#类
#层级选择器
#并集选择器
#属性选择器


a = soup.select("#link2")
a = soup.select("a")
a = soup.select(".sister")
a = soup.select("p #link2")
a = soup.select("title,a")
p = soup.select('p[class="story"]')[1]


# 获取标签包裹的内容
p_content = p.get_text()
# 获取属性:默认是列表
p_class = p.get("class")
print(p_class[0])


if __name__ == '__main__':
bs_method()


标签:__,soup,Python,class,bs4,选择器,使用,find,select
From: https://blog.51cto.com/u_15924937/5975828

相关文章

  • python运行环境以及编辑器介绍
    Hello呀,EveryOne,在上次更新了第一篇的公众号推文后,小编也如约的和大家玩起了消失,但是工作还是要进行的,这不又乖乖的回来码字了,废话不再多说,今个带大家来敲下python编写的第......
  • Python爬取意林杂志所有期刊文章
    可能很多人对这个意林杂志比较陌生,但是对于小编来说,那可是满满的回忆。记得我们上中学那时候读过的意林,那可是一本接着一本,其中有很多令人感动的故事,一直被温暖,被治愈。接下......
  • python爬取公众号链接里面的图片
    话不多说,步入今天文章的分享内容,今天给大家带来的是~~爬取微信公众号文章里面的图片。爬虫代码:#coding:utf-8#__auth__="maiz"#__date__="2021/3/27"importosimport......
  • Python中使用xpath一键获取各国国旗
    国旗是一个国家的主权意识不断增强后必然的产物,国旗是国家的一种标志性旗帜,是国家的象征。代表着一个国家的主权和民族的尊严。每个国家的国旗都由特有的颜色和图案构成,这些......
  • 使用py爬取复产后的鹅厂都在招聘哪些职位
    hello呀,各位小伙伴,今天是五月的第二天,不知道大家是在家里wifi,空调,西瓜呢,还是在拥挤的景区看着人山人海!反正小编是穿着大裤衩,坐在马路边的沙滩上,啜一口摆在身边的饮料,享受......
  • Python一键查询 ICP 备案详情
    做搜索引擎优化的都时长面临一个问题,就是网站备案到底对seo是否有影响呢,今天将为大家仔细分析网站备案,到底对SEO有没有影响?首先说下网站备案的目的、是为了防止在网上从事......
  • 使用Python的asyncio模块异步下载整站壁纸
    这篇文章主要给大家介绍关于Python中asyncio模块的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学......
  • 使用python爬取B站视频
    B站之所以火,是因为趣味与知识并存。正如一句“你在B站看番,我在B站学习”,B站还是有一些质量比较好的学习视频。当你在B站上看到喜欢的视频想保存下来时,怎么办呢?我相信很多逛B......
  • Python 爬取人人视频
    hello,小伙伴们,又见面了,距离上一次发布文章的时间,也算是久别重逢了。期间也发生了很多的事情,导致博文断更,也是笔者不愿意的,但是确实是比较忙,不再过多赘述,希望大家能够体谅。......
  • Python爬取快手博主所有视频
    随着互联网经济的快速发展和自媒体行业的普及,越来越多的视频创作者加入了短视频平台,不仅快速的推动了短视频平台行业的发展,也给大众带来了更多新鲜有趣的知识和内容。据最新......