BeautifulSoup簡介


簡介

BeautifulSoup是一個高效的網頁解析庫,可以從 HTML 或 XML 文件中提取數據。

beautifulsoup支持不同的解析器,比如,對HTML解析,對XML解析,對HTML5解析。一般情況下,我們用的比較多的是 lxml 解析器。

當前最新的 Beautiful Soup 版本為4.4.0,Beautiful Soup 3 當前已停止維護。

安裝

pip install beautifulsoup4

使用時導入:

from bs4 import BeautifulSoup

使用

編寫一個test.html

<!DOCTYPE html>
<html>
<head>
    <title>BeautifulSoup入門</title>
</head>
<body>
<p>你好</p>
<a href="www.baidu.com">百度一下</a>
<p id='content'>BeautifulSoup是一個高效的網頁解析庫,可以從 HTML 或 XML 文件中提取數據。</p> </body> </html>

接着將 html 的源代碼傳給 BeautifulSoup:

from bs4 import BeautifulSoup
soup = BeautifulSoup(open('test.html', encoding='utf-8'),'lxml')

后面都是從soup這個對象獲取我們要的內容。

獲取標題的內容

>>> print(soup.title.string)
BeautifulSoup入門

獲取 p 標簽里面的內容

>>> print(soup.p.string)
你好

獲取 title 的父級標簽

>>> print(soup.title.parent.name)
head

獲取超鏈接

>>> print(soup.a)
<a href="www.baidu.com">百度一下</a>

獲取所有超鏈接

>>> print(soup.find_all('a'))
[<a href="www.baidu.com">百度一下</a>]

獲取 id 為 content 的標簽

>>> print(soup.find(id="content"))
<p id="content">BeautifulSoup是一個高效的網頁解析庫,可以從 HTML 或 XML 文件中提取數據。</p>

獲取網頁中所有的內容

>>> print(soup.get_text())


BeautifulSoup入門


你好
百度一下
BeautifulSoup是一個高效的網頁解析庫,可以從 HTML 或 XML 文件中提取數據。

除了find方法之外,如果你對css比較熟悉,也可以使用 select 方法

print(soup.select("title"))
print(soup.select("body p"))
print(soup.select("body >  #content"))

 

 

參考鏈接:

1. https://zhuanlan.zhihu.com/p/56108228

2. https://zhuanlan.zhihu.com/p/59822990


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM