浅谈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 相关文章推荐
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
使用pdb模块调试Python程序实例
Jun 02 Python
Python采用Django开发自己的博客系统
Sep 29 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
对python多线程与global变量详解
Nov 09 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 Python
Python tkinter 下拉日历控件代码
Mar 04 Python
Python任务自动化工具tox使用教程
Mar 17 Python
Python如何脚本过滤文件中的注释
May 27 Python
python删除指定列或多列单个或多个内容实例
Jun 28 Python
python使用正则表达式匹配txt特定字符串(有换行)
Dec 09 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php重定向的三种方法分享
2012/02/22 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
Python编译成.so文件进行加密后调用的实现
2019/12/23 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
python Tensor和Array对比分析
2020/01/08 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
python代码中怎么换行
2020/06/17 Python
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
个人实用的自我评价范文
2013/11/23 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
工程资料员岗位职责
2015/04/13 职场文书
升学宴学生致辞
2015/09/29 职场文书
golang使用map实现去除重复数组
2022/04/14 Golang
MySQL批量更新不同表中的数据
2022/05/11 MySQL