浅谈Python中的bs4基础

yipeiwu_com6年前Python基础

安装

在命令提示符框中直接输入pip install beautifulsoup4

介绍

beautifulsoup是python的一个第三方库,和xpath一样,都是用来解析html数据的。

引入

from bs4 import BeautifulSoup

使用

将一段文档传入BeautifulSoup的构造方法,就能得到一个文档的对象。

bs = BeautifulSoup(open('index.html',encoding='utf-8'),'lxml')
print(bs)

注意:这样上传文档的话,BeautifulSoup里面需要两个参数。一个为open方法,一个是固定写法,也就是解析器。

open方法里面也同样需要两个参数,一个是想要解析的数据,另一个为设置编码的格式。

(1)获取网页中的title标签

print(bs.title)

(2)获取head标签及标签内部的所有其他标签

print(bs.head)

(3)获取当中的第一个a标签

print(bs.a)

注意:获取文档当中所有的xx当中第一个xx或者第一个xx里面的内容。都可以用bs.xx来获取

(4)获取指定标签的所有属性

print(bs.a.attrs)

(5)获取标签的属性

print(bs.a['href'])

(6)获取标签的文本内容。

print(bs.a.string)

注意:string获取的文本指的是本标签的文本,不包含子标签的文本

(7)contents能够获取指定标签下面的所有内容。

print(bs.body.contents)

(8)获取所有内容当中指定索引的内容

print(bs.div.contents[3])

(9)通过id和类名来找标签

print(bs.find(id='kw'))
print(bs.find(class_='shopping'))

注意:id是唯一的,通过id来找,只能找到一个,所以用find,而class不是唯一的,通过class来找,就有可能找到多个。

(10)select选择指定的标签

print(bs.select('title'))
print(bs.select('a'))

在bs4中,小数点“.”表示类名,#表示id

print(bs.select('.first'))
print(bs.select('#kw'))
print(bs.select('div.now'))

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

Django模板语言 Tags使用详解

Tags # 普通for循环 <ul> {% for user in user_list %} <li>{{ user.name }}</li&...

Apache,wsgi,django 程序部署配置方法详解

Apache,wsgi,django 程序部署配置方法详解

本文实例讲述了Apache,wsgi,django 程序部署配置方法。分享给大家供大家参考,具体如下: 前面写过一篇文章,ngixn,uwsgi,django,python 环境配置,有...

Python使用pip安装pySerial串口通讯模块

Python使用pip安装pySerial串口通讯模块

pySerial封装了对串口的访问,供大家参考,具体内容如下 特性 在支持的平台上有统一的接口。 通过python属性访问串口设置。 支持不同的字节大小、停止位、校验位和流控设置。 可...

python调用百度REST API实现语音识别

目前,语音识别,即将语音内容转换为文字的技术已经比较成熟,遥想当时锤子发布会上展示的讯飞输入法语音识别,着实让讯飞火了一把。由于此类语音识别需要采集大量的样本,才能达到一定的准确度,个人...

分享Python切分字符串的一个不错方法

一同事问:有一字符串“abcdefghijklmn”如何用Python来切分,每四个一段,剩下的算一段。字符段切分,首先会想到split()和 re.split()函数,但仔细想了一下,...