用 requests 網路爬蟲並儲存

今天我們來試試看基本的網站爬蟲吧~~先講一下爬蟲的基本原理:大家看到的所有網頁都是由一份叫做 ” html ” 的文件所構成。講到這邊大家可能會覺得很奇怪:沒道理阿~我們看到的明明就是很多圖案、相片或是按鍵構成的阿 ? 怎麼可能是一份”文件”呢 ? 其實沒錯,所有的網頁背後有一份一份的文件,我們看到的畫面是由瀏覽器 ” 詮釋 ” 出來的結果,所以爬蟲其實背後的運作就是越過瀏覽器直接跟 server 要一份份的 ” 文件 ” ,那利用 Python 蒐集文件有什麼好處呢 ? 第一個就是快,利用 Python 來做,程式一旦開始執行,可以在短時間內做出數十甚至數百下的點擊;第二,我們可以很精準的擷取我們要的資訊,像是在前面利用正規表示式,我們可以把網頁中的信箱都爬取下來;第三,我們可以存檔方便未來查詢,甚至進行數據分析。所以下面我們來看看要怎麼做吧 !!

我們今天就來爬 ” 正規表示式 Regular Expression “(網址:https://wp.me/p9Q764-71) 這篇的網頁,並看看他出來會得到什麼樣子的結果吧 !!

import requests
url = "https://wp.me/p9Q764-71"
page = requests.get(url)
page.encoding = "utf-8"
print(page.text)

上面我可以看到 Python 抓出了一大段的很可怕的內容,但是這些就包含了一整個頁面,當然文章的內容也被包含在這份html當中囉~~未來我們可以利用其他的套件,來擷取出這些內容,甚至是對於內容進行分析。

接下來我們要試著它儲存起來,這樣就可以把這份文件放到我們自己的電腦當中囉~在開始之前需要創建一個資料夾,接著我們把這個料夾的路徑放到程式碼中(我這邊是在C槽中創建一個 ” page ” 資料夾)

建立資料夾完後,我們就開始使用Python來存檔:

file = open(r'c:\\page\page.txt', 'w', encoding = 'UTF-8')
file.write(page.text)
file.close()

這邊事先在page這個資料夾中開一個叫做 page.txt 的檔案,然而此時我們還未建立這份文件,所以電腦會幫你開啟一份 page.txt 的空白文件。接著利用write把內容寫到這份文件,最後還要記得把這份文件關掉才算是大功告成喔~

最後就會在page的資料夾中看到我們剛剛產生的文件,而整個網頁的內容也都被儲存起來囉~

今天的爬蟲只是很初步很初步的開始,Python存在其他的套件來解析這份文件,或著是可以用正規表示式來挖裡面的東西,總而言之,資料在手,希望無窮,大家可以試試看自己去抓取不同的網頁。

Facebook Comments

發表迴響