当前位置: 移动技术网 > IT编程>脚本编程>Python > 爬虫2解析HTML页面-第三方库Beautiful Soup

爬虫2解析HTML页面-第三方库Beautiful Soup

2020年07月17日  | 移动技术网IT编程  | 我要评论

1.安装BeautifulSoup–pip install beautifulSoup4
Beautiful Soup库也叫beautifulsoup4或bs4

2.解析demo页面
import requests
r=requests.get(“”)
demo=r.text
from bs4 import BeautifulSoup 从bs4库中引入BeautifulSoup 类型
(也可以直接写import bs4)
soup=BeautifulSoup(demo,“html.parser”)
demo页面内容,html.parser指用的解析器
demo的位置也可以写open("/root/demo.html")
soup为 解析后得到页面中所有的标签
soup.title----结果为This is a python demo page
tag=soup.a(获取第一个a标签) —tag结果为
soup.a.name----‘a’
soup.a.parent.name—‘p’
soup.a.parent.parent.name-----‘body’
获取标签内所有属性–soup.a.attrs—{‘class’:’…’,‘id’:’…’,‘href’:’…’}
获取标签内某一个属性soup.a.attrs[‘class’]
获取标签属性是类型type(soup.a.attrs)-----<class’dict’>
获取标签类型type(soup.a)----<class ‘bs4.element.Tag’>
获取标签中的内容soup.a.string’Basic Python’
b标签中是注释内容,所以获取b标签内容的类型为Comment,p标签中的内容是非属性的字符串,所以类型为NavigableString

3.Beautiful Soup库理解
此库是解析,遍历,维护“标签树”的功能库

4.Beautiful Soup库的解析器
①安装bs4库–使用bs4的html解析器BeautifulSoup(demo,“html.parser”)
②安装lxml–使用lxml的html解析器BeautifulSoup(demo,“lxml”)
③安装lxml–使用lxml的xml解析器BeautifulSoup(demo,“xml”)
④安装html5lib–使用html5lib的解析器BeautifulSoup(demo,“html5lib”)

5.Beautiful Soup类的基本元素
元素的使用方法在2.解析demo页面中

6.基于bs4的HTML标签树的遍历
①下行遍历
.contents子节点的列表,将所有儿子节点存入列表
.children子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
.descendants子节点的迭代类型,包含所有子孙节点,用于循环遍历
②上行遍历
.parent节点的父亲标签
.parents节点先辈标签的迭代类型,用于循环遍历先辈节点
③平行遍历(平行遍历发生在同一个父节点下的各节点间)
.next_sibling返回按照HTML文本顺序的下一个平行节点标签
.previous_sibling返回按照HTML文本顺序的上一个平行节点标签
.next_siblings迭代类型,返回按照HTML文本顺序的后续所有平行节点标签
.previous_siblings返回按照HTML文本顺序的前续所有平行节点标签

7.基于bs4的HTML格式化和编码(bs4会自动将HTML页面和字符串转成utf-8编码)
soup.a.prettify()-----prettify会自动加换行符,使格式完美

本文地址:https://blog.csdn.net/ajx10132/article/details/85918613

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网