在當今社會,網際網路上充斥著許多有用的數據。我們只需要耐心觀察並添加一些技術手段即可獲得大量有價值的數據。而這裡的「技術手段」就是指網絡爬蟲。 今天,小編將與您分享一個爬蟲的基本知識和入門教程:
什麼是爬蟲?
網絡爬蟲,也叫作網絡數據採集,是指通過編程從Web伺服器請求數據(HTML表單),然後解析HTML以提取所需的數據。
想要入門Python 爬蟲首先需要解決四個問題:
1.熟悉python編程
2.了解HTML
3.了解網絡爬蟲的基本原理
4.學習使用python爬蟲庫
1、熟悉python編程
剛開始入門爬蟲,初學者無需學習python的類,多線程,模塊和其他稍微困難的內容。我們要做的是查找適合初學者的教科書或在線教程,並花費十多天的時間,您可以對python的基礎知識有三到四點了解,這時候你可以玩玩爬蟲了!
2、為什麼要懂HTML
HTML是一種用於創建網頁的標記語言,該網頁嵌入了諸如文本和圖像之類的數據,這些數據可以被瀏覽器讀取並呈現為我們看到的網頁。這就是為什麼我們首先爬網HTML,然後解析數據的原因,因為數據隱藏在HTML中。
對於初學者來說學習HTML不難。因為它不是程式語言。 您只需要熟悉其標記規則。 HTML標記包含幾個關鍵部分,例如標籤(及其屬性),基於字符的數據類型,字符引用和實體引用。
HTML標記是最常見的標記,通常成對出現,例如<h1>和</ h1>。 在成對出現的標籤中,第一個標籤是開始標籤,第二個標籤是結束標籤。 在兩個標籤之間是元素的內容(文本,圖像等)。 有些標籤沒有內容,並且是空元素,例如<img>。
以下是經典的Hello World程序的示例:
HTML文檔由嵌套的HTML元素組成。 它們由括在尖括號中的HTML標記表示,例如<p>。 通常,一個元素由一對標記表示:「開始標記」 <p>和「結束標記」 </ p>。 如果元素包含文本內容,則將其放置在這些標籤之間。
3、了解python網絡爬蟲的基本原理
編寫python搜尋器程序時,只需執行以下兩項操作:發送GET請求以獲取HTML; 解析HTML以獲取數據。 對於這兩件事,python有相應的庫可以幫助您做到這一點,您只需要知道如何使用它們即可。
4、用python庫爬取百度首頁標題
首先,要發送HTML數據請求,可以使用python內置庫urllib,該庫具有urlopen函數,該函數可以根據url獲取HTML文件。 在這裡,嘗試獲取百度首頁「 https://www.baidu.com/」的HTML內容
看看效果:
輸出HTML內容的部分攔截
讓我們看看真正的百度首頁的html是什麼樣的。 如果您使用的是Google Chrome瀏覽器,請在百度首頁上打開「設置」>「更多工具」>「開發者工具」,單擊元素,您會看到:
在Google Chrome瀏覽器中查看HTML
相比之下,您會知道剛才通過python程序獲得的HTML與網頁相同!
獲取HTML之後,下一步是解析HTML,因為所需的文本,圖片和視頻隱藏在HTML中,因此您需要通過某種方式提取所需的數據。
Python還提供了許多功能強大的庫來幫助您解析HTML。 在這裡,著名的Python庫BeautifulSoup被用作解析上面獲得的HTML的工具。
BeautifulSoup是第三方庫,需要安裝和使用。 在命令行上使用pip安裝即可:
BeautifulSoup會將HTML內容轉換為結構化內容,您只需要從結構化標籤中提取數據就可以了:
例如,我想獲得百度首頁的標題「百度一下,我就知道」,該怎麼辦?
該標題周圍有兩個標籤,一個是第一級標籤<head> <head>,另一個是第二級標籤<title> <title>,因此只需從標籤中取出信息即可。
看看結果:
完成此操作,並成功提取了百度首頁的標題。
本文以抓取百度首頁標題為例,解釋python爬蟲的基本原理以及相關python庫的使用。 這是相對基本的爬蟲知識。 房屋是逐層建造的,知識是一點一點地學習的。 剛接觸python的朋友們,想學python爬蟲就要打下良好的基礎,也可以從視頻資料中學習,並自己動手實踐課程。