浅谈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 16 Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
探究Python的Tornado框架对子域名和泛域名的支持
May 02 Python
python复制文件的方法实例详解
May 22 Python
Python制作简单的网页爬虫
Nov 22 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
对python实时得到鼠标位置的示例讲解
Oct 14 Python
简单了解python单例模式的几种写法
Jul 01 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
python判断一个变量是否已经设置的方法
Aug 13 Python
python实现自动清理文件夹旧文件
May 10 Python
Python Pandas常用函数方法总结
Jun 15 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
python实现将文本转换成语音的方法
2015/05/28 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
EJB的几种类型
2012/08/15 面试题
优秀求职信范文分享
2014/01/26 职场文书
保险专业自荐信范文
2014/02/20 职场文书
婚庆司仪主持词
2014/03/15 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
运动会加油稿20字
2014/11/15 职场文书
离职感谢信
2015/01/21 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL