python 爬蟲其實是爬取線上互聯網上的網頁並且對於網頁上的資訊進行分析從而提取出有用的資訊,我們需要的 python 模組有 urllib 庫和 BeautifulSoup 模組
關於 Python 爬蟲知識
BeautifulSoup 模組的安裝
pip install BeautifulSoup 4 等它安裝完成即可
並在.py 檔案下呼叫 from bs4 import BeautifulSoup 進行呼叫
開始使用 BeautifulSoup 4 之前需要進行初始化我們建立一個 BeautifulSoup 4 的物件 soup
souphtml = open(‘soup.html’,‘rb’)##開啓實現已經儲存好的 html 頁面
html = BHhtml.read()#讀取
Soup=BeautifulSoup(html,“html.parser”)##html 是指需要分析的頁面
利用 find_all 函式查詢對應的頁面上的 class 元素
Souptag = bs.find_all(class_=“#這裏填寫需要查詢的 class 元素”)
如果有多個元素可以使用 for 執行進行多次查詢,而且如果是有多個 class 元素可以進行多次查詢
例如:
number = len(Soupag)#獲取對應的 class 的個數
for imit in range(number): #第一層迴圈
Suopli=Souptag[imit].find_all(‘這裏填寫需要查詢的函式’)
如果需要獲取標籤內的資料,但是裏面存著空格可以使用 text.strip().replace(‘ ’, ‘’)將空格剔除
完整程式碼如下:
Suophtml = open(py_html,‘rb’)#py_html 開啓需要爬蟲的頁面
html = Suophtml.read()#字串傳入 python,為什麼我們需要將頁面先爬取下來再分析呢,這樣有助於進行多執行緒操作
bs = BeautifulSoup(html,“html.parser”)#傳入 BeautifulSoup
Suoptag = bs.find_all(class_=py_html_class)#查詢頁面上需要爬取的 class
number = len(Suoptag)#獲取對應的 class 的個數
for imit in range(number): #第一層迴圈
Suopli = Suoptag[imit].find_all(‘li’)#這裏是需要查詢的 class 裏面的元素
number2 = len(Suopli)#這裏是獲取 class 元素裏面的個數
for imit2 in range(number2): #進行第二次迴圈
print(imit2)列印獲取要的資料
更多關於 phyton 爬蟲相關的內容可以參考瞭解 html 程式語言的基礎入門。