7.零基础系统学习Python爬虫之HTML详解

在这里插入图片描述

HTML详解

HTML标签

HTML基本格式:
在这里插入图片描述
遍历方法
在这里插入图片描述

下行遍历

属性 说明
.contents 将该标签所有的儿子节点存入列表
.children 子节点的迭代类型,和contents类似,用于遍历儿子节点
.descendants 子孙节点的迭代类型,包含所有的子孙跌点,用于循环遍历
import requests
from bs4 import BeautifulSoup

r=requests.get('http://baidu.com')
demo=r.text
soup=BeautifulSoup(demo,'html.parser')

print(soup.contents)# 获取整个标签树的儿子节点
print(soup.body.content)#返回标签树的body标签下的节点

print(soup.head)#返回head标签
print(len(soup.body.content))#输出body标签儿子节点的个数

print(soup.body.content[1])#获取body下第一个子标签


soup=BeautifulSoup(demo,'html.parser')
for child in soup.body.children:#遍历儿子节点
    print(child)
    
for child in soup.body.descendants:#遍历子孙节点
    print(child)

上行遍历

属性 说明
.parent 节点的父亲标签
.parents 节点的先辈标签的迭代类型,用于循环遍历先辈节点
import requests
from bs4 import BeautifulSoup

r=requests.get('http://baidu.com')
demo=r.text
soup=BeautifulSoup(demo,'html.parser')

for parent in soup.a.parents:#遍历先辈的信息
    if parent is None:
        print(parent)
    else:
        print(parent.name)

平行遍历

属性 说明
.next_sibling 返回HTML文本顺序的下一个平行标签
.previous_sibling 返回HTML文本顺序的上一个平行标签
.next_siblings 迭代类型,返回HTML文本顺序后续所有的平行标签
.pervious_siblings 迭代类型,返回HTML文本顺序前面所有的平行标签

有层次感的输出-prettify()

import requests
from bs4 import BeautifulSoup

r=requests.get('http://baidu.com')
demo=r.text
soup=BeautifulSoup(demo,'html.parser')
print(soup.prettify())

提示学习来源:北京理工大学慕课

在这里插入图片描述

发布了40 篇原创文章 · 获赞 41 · 访问量 5927

猜你喜欢

转载自blog.csdn.net/qq_45172832/article/details/104252081