百度百科数据爬取 python 词条数据获取

最近需要补充一些电力名词的解释,尤其是文字相关内容。百度百科上的词条质量有差异,因此我们需要先手工选择一些高质量词条。

假设我们选择了互感器页面中的仪用变压器词条,首先:

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)

解析效果如下:

仪用变压器是指一种特殊用途的变压器,它有两个主要用途:一是用来扩大交流电工仪表的量程,二是用来隔离高电压、大电流并使其变成低电压、小电流后中,作为信号供继电保护、自动装置和控制回路使用。####简述
直接测量大电流或者高电压是比较困难的。在交流电路中,常用特殊的变压器把大电流转换成小电流、高电压转换成低电压后再测量。所用的转换装置就称为电流互感器和电压互感器。使用互感器的优点在于使测量仪表与高电压隔离,保证仪表和人身的安全;可扩大仪表的量限,便于仪表的标准化;还可以减少测量中的能耗。因此,在交流电压、电流和功率的测量中,以及各种继电保护和控制电路中,互感器的应用是相当广泛的。仪用变压器用于电力系统中,作为测量、控制、指示、继电保护等电路的信号源。可以使仪表、继电器等与高电压、大电流的被测电路绝缘,可以使仪表继电器等的规格比直接测量高电压、大电流电路时所用的仪表、继电器规格小得多且规格统一。仪用变压器主要在测量高电压、大电流时使用,又称仪用互感器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DataSpell 2023:专注于数据,加速您的数据科学之旅 mac/win版

JetBrains DataSpell 2023是一款专为数据科学家和数据分析师设计的集成开发环境(IDE)。这款IDE提供了强大的数据分析和可视化工具,旨在帮助用户更快速、更高效地进行数据科学工作。 DataSpell 2023软件获取 DataSpell 2023在保持其一贯的数…

【多线程】常见锁策略详解(面试常考题型)

目录 🌴 乐观锁 vs 悲观锁🎍重量级锁 vs 轻量级锁🍀自旋锁(Spin Lock)🎋公平锁 vs ⾮公平锁🌳可重⼊锁 vs 不可重⼊锁🎄读写锁⭕相关面试题 常⻅的锁策略 注意: 接下来讲解的锁策略不…

udp丢包问题研究

//发现udp 有收不到数据包现象. 一: 观察丢包 1. ifconfig enp8s0 2. netstat -s -u 二: 修改系统缓存参数. recv_buffer_size 修改系统buffer_size sysctl -w net.core.rmem_max26214400 sysctl -w net.core.rmem_default26214400 三: 应用程序考虑 av_dict_set(&m_o…

cpp基础学习笔记03:类型转换

static_cast 静态转换 用于类层次结构中基类和派生类之间指针或者引用的转换。up-casting (把派生类的指针或引用转换成基类的指针或者引用表示)是安全的;down-casting(把基类指针或引用转换成子类的指针或者引用)是不安全的。用于基本数据类型之间的转换&#xff…

【C# 】进度条控件 ProgressBar 使用

进度条控件ProgressBar控件,一般作为UI界面表示某个事情进行到某个程度的外观的体现。 那么进度条控件ProgressBar控件,在form中是怎么使用的呢? 该控件必须要用的属性如下: private System.Windows.Forms.ProgressBar progressB…

Flutter Version Manager (FVM): Flutter的版本管理终极指南

Flutter笔记 Flutter Version Manager (FVM) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/136300307 my-websit…

SQL-Labs靶场“26-28”关通关教程

君衍. 一、二十六关 基于GET过滤空格以及注释报错注入1、源码分析2、绕过思路3、updatexml报错注入 二、二十六a关 基于GET过滤空格注释字符型注入1、源码分析2、绕过思路3、时间盲注 三、二十七关 基于union及select的过滤单引号注入1、源码分析2、绕过思路3、联合查询注入4、…

laravel cache

一、基本操作 Cache::put() 创建缓存(键,值,有效期(单位是秒)) Cache::get() 获取缓存 Cache::add() 只会在缓存项不存在的情况下添加数据到缓存,如果数据被成功返回 true,否则&…

Android在后台读取UVC摄像头的帧数据流并推送

Android在后台读取UVC摄像头的帧数据流并推送 添加UvcCamera依赖库 使用原版的 saki4510t/UVCCamera 在预览过程中断开可能会闪退,这里使用的是 jiangdongguo/AndroidUSBCamera 中修改的版本,下载到本地即可。 https://github.com/jiangdongguo/AndroidU…

Rust学习笔记:基础工具和基本名词

不要用共享内存来通信,要用通信来共享内存 rustup: 一个用于管理 Rust 版本和相关工具的命令行工具 rustup update cargo: Rust 的构建系统和包管理工具 构建代码下载依赖库并构建下载库 crate: 代码包/库 trait: 特性、功能 ///: 生成 html 格式的 doc&#…

CELL文献速递 | 了解微生物如何在社会中传播并塑造我们的健康

谷禾健康 当人还是婴儿时,会从父母那里得到微生物;和宠物玩耍或接触时,也会从宠物那得到微生物;有时候人没有直接和动物玩耍,只是接触动物的粪便,甚至其他环境的微生物,都会交换微生物... 这些其…

智慧治水丨计讯物联水利RTU助推小型水库出险加固工程建设与管理

日前,水利部印发《关于健全小型水库除险加固和运行管护机制的意见》(以下简称《意见》),健全小型水库除险加固和运行管护常态化机制,提高小型水库安全管理水平。《意见》提出了“十四五”的两大管理机制,通…

adb下载安装及使用教程

adb下载安装及使用教程 一、ADB的介绍1.ADB是什么?2.内容简介3.ADB常用命令1. ADB查看设备2. ADB安装软件3. ADB卸载软件4. ADB登录设备shell5. ADB从电脑上发送文件到设备6. ADB从设备上下载文件到电脑7. ADB显示帮助信息 4.为什么要用ADB 二、ADB的下载1.Windows版…

Flutter GetX 之 暗黑模式

我们紧接上篇文章,今天继续讲解一下强大的 GetX 的另一个功能,就是 暗黑模式 ,在iOS 13开始苹果的应用慢慢的都开始适配 暗黑模式,andr。oid 也慢慢的 开始跟进,截止到目前,商店的大部分应用都已经完成了 暗黑模式 的适配。 原生开发为我们提供对应的 API,那么Flutter呢…

机器学习相关概念及术语总结

目录 1.机器学习2.监督学习3.无监督学习4.线性回归5.逻辑回归 1.机器学习 机器学习的定义:一个计算机程序可从经验E(Experience)中学习如何完成任务T(Task),并且随着经验E的增加,性能指标P&…

Python中reduce函数和lambda表达式的学习

reduce函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数…

【论文精读】DINOv2

摘要 学习与特定任务无关的预训练表示已经成为自然语言处理的标准,这些表示不进行微调,即可在下游任务上明显优于特定任务模型的性能。其主要得益于使用无监督语言建模目标对大量原始文本进行预训练。 遵循NLP中的这种范式转变,以探索计算机视…

iSlide插件2024免费版(包含52 个PPT设计辅助功能,9 大在线资源库,以及超 50 万 专业)

一、功能介绍 iSlide是一款专为PowerPoint设计的插件,它集合了众多设计与效率提升的功能,帮助用户更快速、更美观地制作演示文稿。 主题设计:提供多种设计主题,用户只需一键应用,即可为幻灯片赋予统一的视觉风格。智…

每次提出一个bug都让测试重现,描述得那么清楚,自己操作下不会吗?

一说到测试和开发的关系,你一定会想到一个词“冤家”。 开发的工作就是按照PM的设计将产品最终造出来,而测试则是在开发已完成的工作里纠错。so,测试的工作会让开发很不爽,人之常情,谁都不喜欢自己的劳动成果被别人挑…

react路由基础

1.目录 A. 能够说出React路由的作用 B. 能够掌握react-router-dom的基本使用 C. 能够使用编程式导航跳转路由 D. 能够知道React路由的匹配模式 2.目录 A. React路由介绍 B. 路由的基本使用 C. 路由的执行过程 D. 编程式导航 E. 默认路由 F. 匹配模式 3.react路由介绍 现代…