【Python】爬蟲html提取內容基礎,bs4

前言

BeautifulSoup也就是bs4,里面功能其實有很多,不過對于爬蟲而言主要掌握一下幾塊就可以了

  1. 怎么找標簽?
  2. 找到標簽后怎么獲取屬性,怎么獲取文本內容
  3. 如何通過找到的標簽繼續獲取子標簽

安裝

pip install bs4

案例

對于找標簽來說,bs4提供了很多方法,不過掌握find()find_all()一般就能滿足大部分爬蟲場景了
固定語法page.find("標簽名", attrs={"屬性": "值"})

from bs4 import BeautifulSoup
html = """
<html>
<body><ul><li><a href="link1.html">斗羅大陸</a></li><li id="abc"><a href="link1.html">斗破蒼穹</a></li><li><a href="link1.html">仙逆</a></li><li><a href="link1.html">凡人修仙傳</a></li></ul>
</body>
</html>
"""
# 1.初始化對象
page = BeautifulSoup(html, 'html.parser')
# 2.固定語法-查找某個元素
li = page.find("li", attrs={"id": "abc"})
# 3.每個被找到的元素,都可以繼續被find()和find_all()
# 查找li標簽下的a標簽
a = li.find("a")
# 4.獲取標簽屬性
a_href = a.get('href')
# 5.獲取文本內容
a_text = a.text# find_all()使用
li_list = page.find_all("li")
for li in li_list:print(li.text)

總結

  1. bs4可以通過find()find_all()查找標簽
  2. 查找到的標簽可以繼續使用find()find_all()查找下級標簽
  3. 標簽通過get()方法獲取標簽屬性,通過.text獲取標簽文本內容

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

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

相關文章

組件庫打包工具選型(npm/pnpm/yarn)的區別和技術考量

組件庫打包工具選型&#xff1a;npm/pnpm/yarn的區別與技術考量 一、核心差異概述 組件庫打包工具的選擇&#xff0c;本質是在??依賴管理效率??、??磁盤空間占用??、??Monorepo支持??、??安裝速度??及??幽靈依賴風險??之間做權衡。npm作為Node.js默認工具…

新型APT組織“嘈雜熊“針對哈薩克斯坦能源部門發起網絡間諜活動

感染鏈圖示 | 圖片來源&#xff1a;Seqrite實驗室APT研究團隊 Seqrite實驗室APT研究團隊近日發布了一份深度分析報告&#xff0c;披露了一個自2025年4月起活躍的新型威脅組織"嘈雜熊"(Noisy Bear)。該組織主要針對哈薩克斯坦石油天然氣行業&#xff0c;攻擊手法結合…

OpenCV 圖像直方圖

目錄 一、什么是圖像直方圖&#xff1f; 關鍵概念&#xff1a;BINS&#xff08;區間&#xff09; 二、直方圖的核心作用 三、OpenCV 計算直方圖&#xff1a;calcHist 函數詳解 1. 函數語法與參數解析 2. 基礎實戰&#xff1a;計算灰度圖直方圖 代碼實現 結果分析 3. 進…

Firefox Window 開發流程(四)

1 引言 在進行 Firefox 瀏覽器的二次開發、內核研究或自定義構建之前&#xff0c;最重要的步驟就是拉取源碼并進入 Mozilla 官方提供的開發引導模式。這不僅是所有定制工作的起點&#xff0c;同時也決定了后續開發環境的穩定性與可維護性。本文將從源碼獲取、工具使用、引導腳…

mybatis plus 使用wrapper輸出SQL

在MyBatis-Plus中&#xff0c;Wrapper對象用于構建復雜的查詢條件。雖然MyBatis-Plus本身沒有直接提供從Wrapper對象獲取完整SQL語句的方法&#xff0c;但你可以通過一些間接的方式來獲取生成的SQL片段。以下是如何使用MyBatis-Plus的Wrapper來獲取SQL片段的步驟&#xff1a;?…

第1章:操作系統和計算機網絡

1. 操作系統和計算機網絡組成目標概述1.1. 核心知識操作系統和網絡知識很龐大&#xff0c;大多內容枯燥無味&#xff0c;主功最常用的&#xff0c;符合2/8原則。操作系統&#xff1a;內核、性能、磁盤IO、內存、CPU進程、線程、文件、中斷計算機網絡&#xff1a;OSI七層模型、T…

day27|前端框架學習

1、驗證。前后端連接&#xff0c;authentication2、action&#xff0c;在pinia&#xff0c;管理狀態&#xff0c;處理異步操作&#xff08;API/Firebase&#xff09;。methods。在vue組件&#xff0c;處理組件內部邏輯3、滑動窗口&#xff0c;能有大致思路&#xff0c;但是自己…

單片機啟動文件——數據段重定位,BSS段清零

目錄重定位概念的引入一、數據段重定位1.作用&#xff1a;2.目的&#xff1a;3.自己模擬代碼二、BSS段清零1.作用&#xff1a;2.目的&#xff1a;3.自己模擬代碼三&#xff0c;實現原理重定位概念的引入 單片機中內存段的詳細介紹 在單片機中內存分為了很多不同的區域&#xf…

QT(3)

四、基本組件1. Designer設計師&#xff08;掌握&#xff09;Qt Designer 是 Qt 提供的可視化界面設計工具&#xff0c;支持通過拖拽組件快速構建 GUI 界面&#xff0c;生成的界面文件以 .ui格式保存&#xff08;基于 XML 的標簽語言&#xff09;。??核心功能??&#xff1a…

常用注解:@PostMapping、@RequestBody、@Autowired、@Service、@Mapper

1. PostMapping作用&#xff1a;將方法綁定到 HTTP POST 請求的特定路徑上用法&#xff1a;PostMapping("/login") // 綁定到 POST /login PostMapping("/employees") // 綁定到 POST /employees PostMapping("/users/{id}") …

SoC日志管理

目錄 一、汽車控制器中日志的核心類型 二、日志管理的核心環節與策略 1. 日志采集:確保“全面且不冗余” 2. 日志存儲:平衡“可靠性”與“存儲成本” 3. 日志安全:防止“篡改與泄露” 4. 日志生命周期:符合“法規與成本” 5. 日志工具與實現 三、汽車場景的特殊約束與應對 …

橫評五款開源多智能體框架,AI高手都在用哪個?下一款Manus、Cursor、Devin,誰能撐起來?

Agent 成為共識的速度非常快。但今年 Agent 的真正轉折點在于&#xff1a;多智能體。 從科研自動化到任務編排&#xff0c;從自動開淘寶店到 Vibe 一切&#xff0c;從 AI 瀏覽器到今天的 ChatGPT Agent&#xff0c;一切都是多智能體的味道。 但要真正搭建一個多智能體&#x…

GitHub每日最火火火項目(9.10)

1. Physical-Intelligence / openpi 項目名稱&#xff1a;openpi項目介紹&#xff1a;基于 Python 開發&#xff0c;聚焦于物理智能領域&#xff0c;為相關研究與應用提供支持。Python 在科學計算、人工智能等領域有著廣泛且成熟的生態&#xff0c;借助其豐富的庫&#xff08;如…

2025年滲透測試面試題總結-61(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 2. 提交過什么漏洞 3. 常用漏洞掃描工具 4. OWASP TOP 10 2021核心變化 5. MySQL寫WebShell權限要求 6.…

高可用消息隊列線程池設計與實現:從源碼解析到最佳實踐

前言在現代分布式系統中&#xff0c;消息隊列處理是核心組件之一。今天我們將深入解析一個高性能、高可用的消息隊列線程池實現——FindMessageQueue&#xff0c;并探討如何將其優化應用于實際項目中。一、核心架構設計1.1 整體架構圖┌───────────────────…

Android App瘦身方法介紹

第一章 安裝包構成深度剖析1.1 APK文件結構解剖APK文件本質是一個ZIP壓縮包&#xff0c;通過unzip -l app.apk命令可查看其內部結構&#xff1a;Archive: app.apkLength Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- -…

深入淺出遷移學習:從理論到實踐

1. 引言&#xff1a;為什么需要遷移學習&#xff1f;在深度學習爆發的這十年里&#xff0c;我們見證了模型性能的飛速提升 ——ResNet 在圖像分類上突破人類視覺極限&#xff0c;BERT 在 NLP 任務上刷新基準&#xff0c;GPT 系列更是開啟了大語言模型時代。但這些亮眼成果的背后…

嵌入式人別再瞎折騰了!這8個開源項目,解決按鍵/隊列/物聯網所有痛點,小白也能抄作業

嵌入式人別再瞎折騰了&#xff01;這8個開源項目&#xff0c;解決按鍵/隊列/物聯網所有痛點&#xff0c;小白也能抄作業 你是不是也有過這樣的崩潰時刻&#xff1a;想做個按鍵控制&#xff0c;結果長按、連擊、組合鍵的邏輯寫了200行if-else&#xff0c;最后還時不時串鍵&#…

C++篇(7)string類的模擬實現

一、string的成員變量string和數據結構中的順序表類似&#xff0c;本質上可以理解成字符順序表&#xff0c;其成員變量仍然是_str&#xff0c;_size和_capacity。但是&#xff0c;C標準庫里面也有一個string&#xff0c;和我們要自己實現的string類沖突了&#xff0c;該如何解決…

【直接套模板】如何用 Web of Science 精準檢索文獻?

在文獻檢索的時候遇到一些問題&#xff0c;單獨使用關鍵詞檢索出來的文章數量太多&#xff0c;如果是多加一些限定詞&#xff0c;又什么都檢索不到&#xff1a;比如我明明知道某篇論文已經發表&#xff0c;但在 Web of Science (WoS) 里卻檢索不到。這其實和檢索式的寫法密切相…