最近需要補充一些電力名詞的解釋,尤其是文字相關內容。百度百科上的詞條質量有差異,因此我們需要先手工選擇一些高質量詞條。
假設我們選擇了互感器頁面中的儀用變壓器詞條,首先:
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)
解析效果如下:
儀用變壓器是指一種特殊用途的變壓器,它有兩個主要用途:一是用來擴大交流電工儀表的量程,二是用來隔離高電壓、大電流并使其變成低電壓、小電流后中,作為信號供繼電保護、自動裝置和控制回路使用。####簡述
直接測量大電流或者高電壓是比較困難的。在交流電路中,常用特殊的變壓器把大電流轉換成小電流、高電壓轉換成低電壓后再測量。所用的轉換裝置就稱為電流互感器和電壓互感器。使用互感器的優點在于使測量儀表與高電壓隔離,保證儀表和人身的安全;可擴大儀表的量限,便于儀表的標準化;還可以減少測量中的能耗。因此,在交流電壓、電流和功率的測量中,以及各種繼電保護和控制電路中,互感器的應用是相當廣泛的。儀用變壓器用于電力系統中,作為測量、控制、指示、繼電保護等電路的信號源。可以使儀表、繼電器等與高電壓、大電流的被測電路絕緣,可以使儀表繼電器等的規格比直接測量高電壓、大電流電路時所用的儀表、繼電器規格小得多且規格統一。儀用變壓器主要在測量高電壓、大電流時使用,又稱儀用互感器。