Python爬虫2--数据解析方法:bs4库的使用和案例

数据解析

聚焦爬虫:爬取页面中指定的页面内容
数据解析分类:正则、bs4、xpath(重点)
数据解析原理:

  1. 进行指定标签的定位
  2. 标签或者标签对应属性中存储数据值的提取

1、BeautifulSoup库

1.1 BeautifulSoup库入门

Beautiful soup库:能够对html 或xml进行解析,并提取其中的信息
安装:pip install beautifulsoup4
查看源代码:
法1,手动右击,获取源代码
法2,用request库获取

import requests
r = requests.get("http://python123.io/ws/demo.html")
r.text#即显示源代码
demo = r.text
from bs4 import BeautifulSoup
soup = BeautifulSoup(demo,"html.parser")#进行熬汤
print(soup.prettify()) #成功打印,即解析正确

BeautifulSoup的使用:
两个参数:第一个html格式的信息,第二个解析器
在这里插入图片描述
BeautifulSoup是解析、遍历、维护“标签树”的功能库
四种解析类:
在这里插入图片描述

1.1.1 BeautifulSoup类的基本元素:

在这里插入图片描述
应用:

from bs4 import BeautifulSoup
r = requests.get("http://python123.io/ws/demo.html")
r.text#即显示源代码
demo = r.text
soup = BeautifulSoup(demo,"html.parser")#解析后的内容
soup.title  #标签内容,左上方内容
tag = soup.a  #a标签即链接标签的内容
print(tag)
soup.a.name  #获取标签名字
soup.a.parent.name  #获取父标签名字
tag.attrs #标签a的属性,打印出一个字典
tag.attrs['class'] #a属性中class的值
type(tag.attrs) #标签属性的类型--字典
type(tag)  #标签的类型---bs4中类型
soup.a.string #a标签的字符串信息
type(soup.a.string) #字符串类型---bs4中类型

sooup.a----获得a标签
a.name—获得标签a的名字
a.sttrs—获得标签属性,返回一个字符串
a.string --标签的字符串
a.comment–可能有注释信息
在这里插入图片描述

1.1.2 基于bs4库的HTML内容遍历方法

html信息:
在这里插入图片描述
将html换成树形结构:
在这里插入图片描述
三种遍历方式:下行遍历、上行遍历、平行遍历

标签树的下行遍历:
在这里插入图片描述
content返回列表,其他两个都是迭代类型,需要用在循环中

soup = BeautifulSoup(demo,"html.parser")
soup.head
soup.head.contents #输出是列表类型
soup.body.contents
len(soup.body.contents)

标签树的上行遍历:
在这里插入图片描述

soup = BeautifulSoup(demo,"html.parser")
soup.title.parent  #title标签的父亲
soup.html.parent #html标签的父亲,因为html是最高级的,所以其父亲是他本身
soup
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值