浅谈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 Django做网页
Nov 04 Python
用PyQt进行Python图形界面的程序的开发的入门指引
Apr 14 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
Python如何获得百度统计API的数据并发送邮件示例代码
Jan 27 Python
python生成带有表格的图片实例
Feb 03 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
Apr 26 Python
详解python编译器和解释器的区别
Jun 24 Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 Python
Python的Lambda函数用法详解
Sep 03 Python
np.dot()函数的用法详解
Jan 17 Python
python如何查看网页代码
Jun 07 Python
通过Python实现Payload分离免杀过程详解
Jul 13 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
深入掌握include_once与require_once的区别
2013/06/17 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
判断某个字符在一个字符串中是否存在的js代码
2014/02/28 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
2020/07/28 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
Python getopt模块处理命令行选项实例
2014/05/13 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
水果超市创业计划书
2014/01/27 职场文书
法制宣传日活动总结
2014/04/29 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
争先创优公开承诺书
2014/08/30 职场文书
中学教师读书笔记
2015/07/01 职场文书
2015小学师德工作总结
2015/07/21 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL