浅谈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脚本
Feb 10 Python
python进阶教程之模块(module)介绍
Aug 30 Python
python通过zlib实现压缩与解压字符串的方法
Nov 19 Python
KMP算法精解及其Python版的代码示例
Jun 01 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
Sep 21 Python
利用Python实现网络测试的脚本分享
May 26 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 Python
详解python持久化文件读写
Apr 06 Python
Python Numpy计算各类距离的方法
Jul 05 Python
使用keras实现孪生网络中的权值共享教程
Jun 11 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
Dec 05 Python
Python实现随机生成迷宫并自动寻路
Jun 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
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
14个有用的Jquery技巧分享
2015/01/08 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
python 实现A*算法的示例代码
2018/08/13 Python
python爬取微信公众号文章的方法
2019/02/26 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
pycharm导入源码的具体步骤
2020/08/04 Python
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
生产车间实习自我鉴定
2013/09/23 职场文书
工地安全检查制度
2014/02/04 职场文书
面试必备的求职信
2014/05/25 职场文书
老人节标语大全
2014/10/08 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
2015年个人审计工作总结
2015/04/07 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS
MySQL索引是啥?不懂就问
2021/07/21 MySQL