Python Beautiful Soup 4【HTML/XML解析庫】 簡介

全面剖析大模型 圖解大模型:生成式AI原理與實戰 大語言模型大模型應用開發Transformer DeepSeek模型原理開發深度學習 圖靈出品

大模型強化學習詳解 大模型算法:強化學習、微調與對齊(全彩)詳解強化學習 RLHF GRPO DPO SFT CoT DeepSeek蒸餾 微調與對齊 效果優化及其實踐

大模型圖書三劍客之 人工智能的底層邏輯 DeepSeek的邏輯 DeepSeek教程 閱讀狂歡節

大模型語言模型理論全掌握 大規模語言模型:從理論到實踐(第2版)詳解LLM 預訓練 指令微調 SFT 強化學習MoE 多模態 智能體 RAG 大模型效率優化DeepSeek推理模型 評估

AI大廠大模型面試寶典 百面大模型 大模型應用開發LLM提示工程師大模型面試題deepseek應用開發深度學習機器學習 圖靈出品

AI時代已至,必須學起來了 人工智能:現代方法(第4版)復旦教授魏忠鈺老師推薦 deepseek教程(異步圖書出品)


Beautiful Soup (bs4) 是一個用于解析 HTML 和 XML 文檔的 Python 庫,常用于網頁抓取(Web Scraping)。它能將復雜的文檔轉換為樹形結構,并提供簡單的方法導航、搜索和修改文檔內容。


核心特性
  1. 自動編碼處理
    自動將輸入文檔轉換為 Unicode 輸出為 UTF-8,無需擔心編碼問題。

  2. 靈活的解析器支持
    支持多種解析器:

    • html.parser(Python 內置)
    • lxml(速度快,需額外安裝)
    • html5lib(高容錯性,生成標準 HTML5)
  3. 直觀的文檔導航
    提供類似 DOM 的操作方式,支持標簽名、屬性、CSS 選擇器等搜索。


安裝方法
pip install beautifulsoup4 requests  # 通常配合 requests 庫使用

基礎用法示例
from bs4 import BeautifulSoup
import requests# 1. 獲取網頁內容
url = "https://example.com"
response = requests.get(url)
html_content = response.text# 2. 創建 BeautifulSoup 對象
soup = BeautifulSoup(html_content, "html.parser")  # 使用內置解析器# 3. 提取數據示例
# 獲取標題
title = soup.title.string
print("頁面標題:", title)# 查找所有鏈接
for link in soup.find_all("a"):print("鏈接:", link.get("href"))# 通過 CSS 類查找
results = soup.select(".main-content")  # 選擇 class="main-content" 的元素
for div in results:print("內容塊:", div.text.strip()[:50] + "...")  # 截取前50字符

常用方法速查
方法描述
soup.find(tag)返回第一個匹配的標簽
soup.find_all(tag)返回所有匹配的標簽列表
soup.select(css_selector)用 CSS 選擇器查找元素
tag.get(attr)獲取標簽屬性值(如 href, src
tag.text獲取標簽內的文本(不含子標簽)
tag.contents獲取子節點列表
tag.parent獲取父節點

處理復雜場景
# 查找特定屬性的元素
soup.find_all("div", class_="header", id="top")  # class 是保留字,需加下劃線# 鏈式查找
first_link = soup.find("div", {"id": "nav"}).find("a")# 提取嵌套數據
for item in soup.select("ul.products > li"):name = item.find("h3").textprice = item.select(".price")[0].textprint(f"{name}: {price}")

注意事項
  1. 遵守 robots.txt:抓取前檢查目標網站的爬蟲協議。
  2. 設置請求頭:模擬瀏覽器訪問避免被屏蔽:
    headers = {"User-Agent": "Mozilla/5.0"}
    response = requests.get(url, headers=headers)
    
  3. 錯誤處理:網絡請求和解析需添加異常捕獲:
    try:# 解析代碼
    except AttributeError:# 處理標簽不存在的情況
    

進階學習
  • 官方文檔:Beautiful Soup Documentation
  • 實戰項目:商品價格監控、新聞聚合、搜索引擎爬蟲

通過 Beautiful Soup,你可以高效地從網頁中提取結構化數據,是 Python 數據采集的核心工具之一!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84528.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84528.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84528.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI Agent開發與安全

AI Agent的核心演進 Level 1:LLM Agent(聊天機器人) 特點:靠提示詞工程賦予人設(如星座占卜、角色扮演),但存在幻覺問題,輸出不可控。局限:娛樂性強,難勝任嚴…

NumPy玩轉數據科學

本文在創作過程中借助 AI 工具輔助資料整理與內容優化。圖片來源網絡。 文章目錄 一、引言二、NumPy 概述2.1 NumPy 的定義與發展2.2 NumPy 的重要性 三、NumPy 的多維數組支持3.1 多維數組的概念3.2 多維數組的創建與操作3.2.1 數組的創建3.2.2 數組的索引和切片3.2.3 數組的運…

【uniapp小程序開發】圖表組件ucharts的使用(入門)

一、插件的安裝 安裝非常簡單,打開uniapp的插件市場,導入到項目中即可 下載地址:https://ext.dcloud.net.cn/plugin?id271 二、開始實踐 先看頁面的效果 頁面中實現了三個基本圖形的展示:折線圖、餅圖和柱狀圖。 上圖左一&a…

APISIX+etcd高可用集群部署方案詳解

#作者:任少近 文章目錄 一、背景二、部署etcd1、etcd的svc部署yaml2、Etcd 服務定義說明3、etcd的statefulset部署yaml4、Etcd 狀態集(StatefulSet)配置說明5、查看集群狀態 三、部署apisix的deployment部署1、apisix部署yaml文件2、APISIX …

Excel常用公式大全

資源寶整理分享:https://www.httple.net Excel常用公式大全可以幫助用戶提高工作效率,掌握常用的Excel公式,讓數據處理和計算工作更加便捷高效。了解公式學習方法、用途,不再死記硬背,拒絕漫無目的。 命令用途注釋說…

什么是Seata?

深入解析Seata:分布式事務的終極解決方案 什么是Seata? Seata(Simple Extensible Autonomous Transaction Architecture)是一款開源的分布式事務解決方案,由阿里巴巴中間件團隊于2019年1月發起并開源(最初…

【系統規劃與管理師第二版】1.3 新一代信息技術及發展

一、物聯網 物聯網(IoT)是指通過信息傳感設備,按約定的協議將任何物品與互聯網相連接,進行信息交換和通信,以實現智能化識別、定位、跟蹤、監控和管理的網絡。物聯網主要解決物品與物品(T2T)、人…

在Spring Boot中自定義JSON返回日期格式的指南

在開發Spring Boot應用時,很多時候需要在返回的JSON數據中以特定格式顯示日期和時間。例如,使用LocalDateTime、Date等類型的字段時,默認的序列化格式可能不是你期望的路徑。本文將介紹如何在Spring Boot中實現控制返回JSON數據的日期格式&am…

【大數據高并發核心場景實戰】 - 數據持久化之冷熱分離

大數據高并發核心場景實戰 - 數據持久化之冷熱分離 當云計算平臺的業務后臺處理工單突然接入客服系統的請求洪流,每日新增10萬工單,3000萬主表1.5億明細表的數據庫開始呻吟——是時候請出「冷熱分離」這劑退燒藥了! 一、業務場景:…

【AI Study】第四天,Pandas(6)- 性能優化

文章概要 本文詳細介紹 Pandas 的性能優化技術,包括: 內存優化計算優化大數據處理實際應用示例 內存優化 數據類型優化 # 查看數據類型 df.dtypes# 查看內存使用情況 df.memory_usage(deepTrue)# 優化數值類型 # 將 float64 轉換為 float32 df[floa…

c++系列之智能指針的使用

💗 💗 博客:小怡同學 💗 💗 個人簡介:編程小萌新 💗 💗 如果博客對大家有用的話,請點贊關注再收藏 🌞 智能指針的使用及原理 AII(Resource Acquisition Is Initializatio…

知識蒸餾(Knowledge Distillation, KD)

知識蒸餾(Knowledge Distillation, KD)是一種模型壓縮與知識遷移技術,通過讓小型學生模型(Student)模仿大型教師模型(Teacher)的行為(如輸出概率分布或中間特征表示)&…

chatGPT 會擴大失業潮嗎?

擊上方關注 “終端研發部” 設為“星標”,和你一起掌握更多數據庫知識 對于部分人而言,失業是必然趨勢。 這不,身后的一測試大哥,自從公司解散之后,已經在家待業半年了。。。 自打OpenAI推出了chatGPT3.0之后&#xff…

FPGA基礎 -- Verilog行為級建模之時序控制

Verilog 行為級建模(Behavioral Modeling)中“時序控制”機制的系統化由淺入深培訓內容,適用于初學者到進階 FPGA 設計工程師的學習路徑。 🎯 一、行為級建模的定位 行為級建模(Behavioral Modeling)是 Ve…

設計模式精講 Day 7:橋接模式(Bridge Pattern)

【設計模式精講 Day 7】橋接模式(Bridge Pattern) 文章簡述 在軟件系統中,類的繼承關系往往會導致類爆炸,尤其是在需要組合多種功能或行為時。橋接模式(Bridge Pattern)通過將抽象部分與其實現部分分離&am…

Apipost 簽約銳捷網絡:AI賦能,共推 ICT 領域 API 生態智能化升級

日前,北京北極狐信息科技有限公司(簡稱 “北極狐科技”)與銳捷網絡股份有限公司(簡稱 “銳捷網絡”)正式簽署合作協議,雙方將聚焦 ICT 基礎設施及解決方案領域,圍繞 API 全鏈路管理與智能化研發…

RK3568筆記八十三:RTMP推流H264和PCM

若該文為原創文章,轉載請注明原文出處。 前面有通過勇哥,實現了RTMP推流,但一直想加上音頻,所以經過測試,寫了一個demo, ffmpeg是使用ubuntu下安裝測試的。 安裝參考:Ubuntu20.4下x264、x265、fdk-aac和FFmpeg4.3源碼編譯安裝_ubuntu安裝libx264-CSDN博客 記錄:實現從…

產業園智慧化升級中 DDC 樓宇自控系統的集成應用優勢:多業態協同與能源可視化管控?

摘要? 在產業園智慧化升級浪潮中,直接數字控制(DDC)系統憑借強大的集成能力,成為實現多業態協同與能源可視化管控的核心技術。本文深入剖析 DDC 系統在整合園區多元業態、優化能源管理方面的獨特優勢,通過系統集成打…

Vue 3瀑布流組件實現詳解 - 圖片展示方案

引言:瀑布流布局的魅力與應用場景 在當今富媒體內容主導的網絡環境中,瀑布流布局已成為展示圖片商品等內容的流行方式。它通過動態布局算法在有限空間內最大化內容展示,提供視覺連續性和流暢瀏覽體驗。本文將深入探討如何使用Vue 3實現一個功…