最近需要补充一些电力名词的解释,尤其是文字相关内容。百度百科上的词条质量有差异,因此我们需要先手工选择一些高质量词条。
假设我们选择了互感器页面中的仪用变压器词条,首先:
import requests
from bs4 import BeautifulSoup # 目标网页的URL
url = r"https://baike.baidu.com/item/%E4%BB%AA%E7%94%A8%E5%8F%98%E5%8E%8B%E5%99%A8/5435598?fromtitle=%E4%BA%92%E6%84%9F%E5%99%A8&fromid=2547303" # 发送HTTP请求并获取响应
response = requests.get(url)
接下来,解析获取到的response:
contents=[]
# 检查响应状态码,确保请求成功
if response.status_code == 200: # 解析HTML内容 soup = BeautifulSoup(response.text, "html.parser") # 找到class属性为"lemmaSummary_M04mg", "J-summary"的div元素 div_with_class_summary = soup.find("div", class_=["lemmaSummary_M04mg", "J-summary"]) # 找到class属性为"J-lemma-content"的div元素 div_with_class = soup.find("div", class_="J-lemma-content") if div_with_class_summary:for child in div_with_class_summary.descendants: tmp=""# 检查子元素是否是span标签且class属性为"text_wRvkv" if child.name == "div" and child.get("class")==["para_rOiQc", "summary_AVljn", "MARK_MODULE"]:# 打印span元素的文本内容 for new_child in child.descendants: if new_child.name == "span" and new_child.get("class") and "text_wRvkv" in new_child.get("class"):tmp+=new_child.textcontents.append(tmp)contents.append("\n") if div_with_class: # 遍历div中的所有子元素 for child in div_with_class.descendants: # 检查子元素是否是span标签且class属性为"text_wRvkv" if child.name == "div" and child.get("class")==['para_rOiQc', 'content_ACwOP', 'MARK_MODULE']:tmp=""# 打印span元素的文本内容 for new_child in child.descendants: if new_child.name == "span" and new_child.get("class") and "text_wRvkv" in new_child.get("class"):tmp+=new_child.textcontents.append(tmp)contents.append("\n") # 检查子元素是否是h2标签 elif child.name == "h2": # 打印h2标签的内容 contents.append("####"+child.text)elif child.name == "h3": # 打印h2标签的内容 contents.append("##"+child.text)else: print("Failed to retrieve the web page.")
最后打印结果,发现可以复制词条中的主要内容,例如二级标题、三级标题和正文,以及每个百科最开始的概念介绍:
for content in contents:print(content)
解析效果如下:
仪用变压器是指一种特殊用途的变压器,它有两个主要用途:一是用来扩大交流电工仪表的量程,二是用来隔离高电压、大电流并使其变成低电压、小电流后中,作为信号供继电保护、自动装置和控制回路使用。####简述
直接测量大电流或者高电压是比较困难的。在交流电路中,常用特殊的变压器把大电流转换成小电流、高电压转换成低电压后再测量。所用的转换装置就称为电流互感器和电压互感器。使用互感器的优点在于使测量仪表与高电压隔离,保证仪表和人身的安全;可扩大仪表的量限,便于仪表的标准化;还可以减少测量中的能耗。因此,在交流电压、电流和功率的测量中,以及各种继电保护和控制电路中,互感器的应用是相当广泛的。仪用变压器用于电力系统中,作为测量、控制、指示、继电保护等电路的信号源。可以使仪表、继电器等与高电压、大电流的被测电路绝缘,可以使仪表继电器等的规格比直接测量高电压、大电流电路时所用的仪表、继电器规格小得多且规格统一。仪用变压器主要在测量高电压、大电流时使用,又称仪用互感器。