浅谈Python中的bs4基础


Posted in Python onOctober 21, 2018

安装

在命令提示符框中直接输入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 相关文章推荐
Python中使用PIL库实现图片高斯模糊实例
Feb 08 Python
Python的Django框架安装全攻略
Jul 15 Python
简单讲解Python编程中namedtuple类的用法
Jun 21 Python
Python处理Excel文件实例代码
Jun 20 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
python实现最长公共子序列
May 22 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
设置python3为默认python的方法
Oct 31 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
解决Mac下使用python的坑
Aug 13 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
PyTorch中的torch.cat简单介绍
Mar 17 Python
python清除字符串前后空格函数的方法
Oct 21 #Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 #Python
Scrapy框架使用的基本知识
Oct 21 #Python
python去掉 unicode 字符串前面的u方法
Oct 21 #Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 #Python
python之消除前缀重命名的方法
Oct 21 #Python
使用Scrapy爬取动态数据
Oct 21 #Python
You might like
开源SNS系统-ThinkSNS
2008/05/18 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
JavaScript中的prototype使用说明
2010/04/13 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
微信小程序tabbar底部导航
2018/11/05 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
python爬取51job中hr的邮箱
2016/05/14 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
python判断设备是否联网的方法
2018/06/29 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
python创建n行m列数组示例
2019/12/02 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
网上卖盒饭创业计划书
2014/01/26 职场文书
音乐教师求职信
2014/06/28 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
车辆年检委托书范本
2014/10/14 职场文书
go语言map与string的相互转换的实现
2021/04/07 Golang
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
SQL Server使用导出向导功能
2022/04/08 SQL Server