1、上行遍历即查找自己的父节点或者先前节点 2、下行遍历即查找自己的子节点或者孙节点 3、平行遍历即查找跟自己平行的节点,必须发生在同一个父亲节点下
#本代码演示BeautifulSoup的上行遍历,下行遍历,平行遍历,代码如下:
#1、导入相应的模块 import requests from bs4 import BeautifulSoup #2、对网站进行get请求 url="http://huizhou.loupan.com" #设置网站为惠州楼盘网 headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36"} # 设置网页请求头 response = requests.get(url,headers=headers) ##伪装浏览器对url进行get请求 response.encoding=response.apparent_encoding #根据网页内容进行解析编码并赋值给response.encoding html=response.text #将响应的网页源代码赋值给html #3、对网站进行解析 soup=BeautifulSoup(html,"html.parser") print(soup.a) #打印a标签 print(soup.head) #打印head标签 print("head标签的儿子标签:",soup.head.contents) #打印head标签的儿子标签 print("a标签的父节点:",soup.a.parent) #打印a标签的父节点,即上行查找 print(soup.a.parent.parent) #打印a标签的父节点的父节点,即上行查找祖先节点 print("a标签的先前节点:",soup.a.parents) #打印a标签的先前节点,即上行查找先前节点,包含父节点,也包含祖先节点 print("a标签的下一个平行节点:",soup.a.next_sibling) #查找a标签的下一个平行节点 print("div标签的上一个平行节点:",soup.div.previous_sibling) #查找div标签的上一个平行节点 print("a标签的儿子节点:",soup.a.children) #打印a标签的儿子节点,返回迭代类型 print(soup.a.contents) #打印a标签的儿子节点,返回列表类型 print("body标签的子孙节点:",soup.body.descendants) #打印body标签的子节点和孙节点
代码运行结果如下图所示:
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved