浅谈Python中的bs4基础

yipeiwu_com6年前Python基础

安装

在命令提示符框中直接输入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设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

浅谈django orm 优化

orm优化 1.数据库技术进行优化,包括给字段加索引,设置唯一性约束等等; 2.查询过滤工作在数据库语句中做,不要放在代码中完成(看情况); 3.如果要一次查询出集合的数量,使用c...

Python入门_条件控制(详解)

Python入门_条件控制(详解)

条件控制其实就是if...else...(如果...条件是成立的,就做...;反之,就做...)的使用,其基本结构是: 具体看下面这个例子: def account_login()...

利用Python半自动化生成Nessus报告的方法

利用Python半自动化生成Nessus报告的方法

0x01 前言 Nessus是一个功能强大而又易于使用的远程安全扫描器,Nessus对个人用户是免费的,只需要在官方网站上填邮箱,立马就能收到注册号了,对应商业用户是收费的。当然,个人用...

python文件写入write()的操作

本文实例为大家分享了python文件写入write()的操作的具体代码,供大家参考,具体内容如下 filename = 'pragramming.txt' with open(f...

Python 执行字符串表达式函数(eval exec execfile)

仔细研读后学习了三个函数: eval:计算字符串中的表达式 exec:执行字符串中的语句 execfile:用来执行一个文件 需注意的是,exec是一个语句,而eval()和execfi...