浅谈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字符串替换实例分析
May 11 Python
python实现在windows服务中新建进程的方法
Jun 30 Python
Python的Django框架中的URL配置与松耦合
Jul 15 Python
深入理解Python3 内置函数大全
Nov 23 Python
Python实现定时自动关闭的tkinter窗口方法
Feb 16 Python
django的ORM操作 增加和查询
Jul 26 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
python Pillow图像处理方法汇总
Oct 16 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
Python中的xlrd模块使用整理
Jun 15 Python
Python与C++中梯度方向直方图的实现
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
关于PHP中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
理解javascript异步编程
2016/01/27 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
Python解析命令行读取参数之argparse模块
2019/07/26 Python
python获取Linux发行版名称
2019/08/30 Python
python实现的config文件读写功能示例
2019/09/24 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
教师节促销活动方案
2014/02/14 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
付款委托书范本
2014/04/04 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python