浅谈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之集合(set)
Sep 24 Python
跟老齐学Python之使用Python查询更新数据库
Nov 25 Python
python通过wxPython打开一个音频文件并播放的方法
Mar 25 Python
python采集百度百科的方法
Jun 05 Python
Python和JavaScript间代码转换的4个工具
Feb 22 Python
Python实现进程同步和通信的方法
Jan 02 Python
python中selenium操作下拉滚动条的几种方法汇总
Jul 14 Python
Python调用钉钉自定义机器人的实现
Jan 03 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
使用python客户端访问impala的操作方式
Mar 28 Python
使用keras和tensorflow保存为可部署的pb格式
May 25 Python
python 开心网和豆瓣日记爬取的小爬虫
May 29 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
自己开发Dojo的建议框架
2008/09/24 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
对比分析json及XML
2014/11/28 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
Node.js的特点详解
2017/02/03 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
Python中__name__的使用实例
2015/04/14 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
我的求职计划书
2014/01/10 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
安全演讲稿开场白
2014/08/25 职场文书
2014年教务处工作总结
2014/12/03 职场文书
先进党支部申报材料
2014/12/24 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
python 实现体质指数BMI计算
2021/05/26 Python
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle