使用:
from bs4 import BeautifulSoup #bs4代表BeautifulSoup库,BeautifulSoup是一个类
soup = BeautifulSoup(‘<p>data</p>’,"html.parser") #参数1:需要解析的html格式的信息,可以用变量。参数2:需要的解析器
BeautifulSoup类的基本元素
Tag 标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾
Name 标签的名字,<p>....</p>的名字是'p',格式<tag>.nane
Attributes 标签的属性,字典形式组织,格式:<tag>.attrs
NavigableString 标签内非属性字符串,<>...</>中字符串,格式:<tag>.string
Comment 标签字符串的注释部分,一种特殊的comment类型
标签树的下行遍历
.contents 子节点的列表,将<tag>所有儿子节点存入列表
.children 子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
.descendants 子孙节点的迭代类型,包含所有子孙节点,用于循环遍历
标签树的上行遍历
.parent 节点的父亲标签
.parents 节点先辈标签的迭代类型,用于遍历先辈节点
标签树的平行遍历(发生在同一个父节点下的各节点间)
.next_sibling 返回按照HTML文本版顺序的下一个平行节点标签
.previous_sibling 返回按照HTML文本顺序的上一个平行节点标签
.next_siblings 迭代类型,返回按照HTML文本顺序的后续所有平行节点标签
.previous_siblings 迭代类型,返回按照HTML文本顺序的前续所有平行节点标签
用bs4库让<html>页面更“友好”的显示
prettify方法:
import requests
r = requests.get("http://www.lofter.com")
demo = r.text
from bs4 import BeautifulSoup
soup = BeautifulSoup(demo,"html.parser")
print (soup.prettify())#每一个标签和相关内容自动分行显示
bs4库将任何读入的html文件或字符串转换成utf-8编码
转载请注明原文地址: https://ju.6miu.com/read-34428.html