beautifulsoup

BeautifulSoup库

一、库介绍

BeautifulSoup是python的一个HTML/XML的解析器,使用方便,速度偏慢

主要功能

  • 解析和提取HTML/XML数据
  • 基于HTML DOM,可以载入整个文档,解析整个DOM树
  • 支持CSS选择器

二、Python库BeautifulSoup的安装

pip安装
进入python安装目录的scripts目录输入:
pip install beautifulsoup4
安装lxml解析器:
pip install lxml

三、BeuatifulSoup使用流程

(1)导入模块

from bs4 import BeautifulSoup

(2)基本用法

soup=BeautifulSoup('hello world!', 'lxml')      #自动添加标签
print(soup.prettify())   #把要解析的字符串按标准的缩进格式输出

运行结果:
在这里插入图片描述

四、选择器的用法

(1)节点选择器

print(soup.title)              #访问<title>标签的内容
print(soup.title.name)		   #查看标签的名字
print(soup.title.text)		   #查看标签的文本
print(soup.title.string)	   #获取文本内容
print(type(soup.title))		   #获取数据类型
print(soup.head.title.string)  #嵌套选择
print(soup.p.children)		   #获取子节点
for i,child in enumerate(soup.p.children):   
    print(i,child)
    
print(soup.p.descendants)	   #获取子孙节点
for i,child in enumerate(soup.p.descendants):
    print(i,child)
    
print(soup.a.parent)		   #选择直接父节点元素

运行结果:
在这里插入图片描述
(2)方法选择器
find_all()

print(soup.find_all('a'))          #查找所有<a>标签
print(soup.find_all(['a', 'b']) )      #同时查找<a><b>标签k3">

import re
print(soup.find_all(href=re.compile("elsie")))  #查找href包含特定关键字的标签

部分运行截图:
在这里插入图片描述
注:find()与find_all()用法完全一致,只是查询范围不同
(3)CSS选择器

print(soup.select('title'))		 	#通过标签名查找
print(soup.select('.story'))		#通过类名查找
print(soup.select('#link1'))		#通过id名查找

for a in soup.select('p >a'):		#列表迭代
    print(a)

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值