浅谈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中使用语句导入模块或包的机制研究
Mar 30 Python
Python中不同进制的语法及转换方法分析
Jul 27 Python
python 读取DICOM头文件的实例
May 07 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
Feb 21 Python
Django框架封装外部函数示例
May 28 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
解决Jupyter NoteBook输出的图表太小看不清问题
Apr 16 Python
jupyter notebook读取/导出文件/图片实例
Apr 16 Python
使用python爬取抖音app视频的实例代码
Dec 01 Python
Django debug为True时,css加载失败的解决方案
Apr 24 Python
Python中npy和mat文件的保存与读取
Apr 24 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
python查询mysql中文乱码问题
2014/11/09 Python
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python网络编程 Python套接字编程
2017/09/13 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
python 接收处理外带的参数方法
2018/12/03 Python
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
美国网上书店:Barnes & Noble
2018/08/15 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
经贸日语专业个人求职信
2013/12/13 职场文书
关于学习的演讲稿
2014/05/10 职场文书
投资建议书模板
2014/05/12 职场文书
酒店前台辞职书
2015/02/26 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
工作计划范文之财务管理
2019/08/09 职场文书