浅谈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程序抓取新浪在国内的所有IP的教程
May 04 Python
flask中使用蓝图将路由分开写在不同文件实例解析
Jan 19 Python
python 连接各类主流数据库的实例代码
Jan 30 Python
Python 读取指定文件夹下的所有图像方法
Apr 27 Python
python3.x实现base64加密和解密
Mar 28 Python
python3 反射的四种基本方法解析
Aug 26 Python
Python使用scipy模块实现一维卷积运算示例
Sep 05 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
Jul 13 Python
pycharm 如何查看某一函数源码的快捷键
May 12 Python
Python激活Anaconda环境变量的详细步骤
Jun 08 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
提升PHP执行速度全攻略(下)
2006/10/09 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
php中取得文件的后缀名?
2012/02/20 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
理解Javascript_05_原型继承原理
2010/10/13 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
vue生命周期实例小结
2018/08/15 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
用Python编写简单的定时器的方法
2015/05/02 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
python中使用while循环的实例
2019/08/05 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
python实现宿舍管理系统
2019/11/22 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
什么是索引指示器
2012/08/20 面试题
会计自我鉴定
2013/11/02 职场文书
理财计划书
2014/08/14 职场文书
上班离岗检讨书
2014/09/10 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
《画家和牧童》教学反思
2016/02/17 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL