爬蟲:BeautifulSoup解析庫

一 什麼是BeautifulSoup

  簡單來說,Beautiful Soup是python的一個庫,最主要的功能是從網頁抓取數據。

官方解釋如下:

  Beautiful Soup提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數據,因為簡單,所以不需要多少代碼就可以寫出一個完整的應用程序。

  Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫。它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式。所以需要配合解析器一起使用!

  Beautiful Soup會幫你節省數小時甚至數天的工作時間.你可能在尋找 Beautiful Soup3 的文檔,Beautiful Soup 3 目前已經停止開發,官網推薦在現在的項目中使用Beautiful Soup 4。

解析器:

  Beautiful Soup支持Python標準庫中的HTML解析器,還支持一些第三方的解析器,如果我們不安裝它,則 Python 會使用 Python默認的解析器,lxml 解析器更加強大,速度更快,推薦安裝另一個可供選擇的解析器是純Python實現的 html5lib , html5lib的解析方式與瀏覽器相同。

解析器對比:   官方文檔

爬蟲:BeautifulSoup解析庫

二 為什麼要用BeautifulSoup?

  BeautifulSoup能給我們提供一些列查找文檔樹的方法,使我們能快速定位到我們想要爬取的數據。我們再回想一下之前學的一個re模塊,它可以全局查找我們想要的文本,從文本開頭到結束開始匹配,然後通過貪婪匹配,再通過非貪婪匹配拿到需要的數據,整個過程是不是非常繁瑣,而卻搜索效率極低!

  BeautifulSoup內既封裝了re,還為我們提供了一些更加強大、高效的功能,使我們可以快速匹配到我們想要的數據,提高爬取效率和開發效率。

三 安裝

1、安裝

四 怎麼使用

1、基本使用

2、遍歷文檔樹

3、搜索文檔樹

  BeautifulSoup定義了很多搜索方法,這裡著重介紹2個:find()find_all() 。其它方法的參數和用法類似!


分享到:


相關文章: