本文作者:Wayne
自由團隊將從0到1 手把手教各位讀者學會(1)Python基礎語法、(2)Python Web 網頁開發框架 – Django 、(3)Python網頁爬蟲 – 周易解夢網、(4)Tensorflow AI語言模型基礎與訓練 – LSTM、(5)實際部屬AI解夢模型到Web框架上。
AI . FREE Team 讀者專屬福利 → Python Basics 免費學習資源
PTT網路爬蟲基礎教學
在架設人工智慧前,我們需要有大數據,除了可以從數據庫獲取之外,我們也可以從網路上蒐集我們需要的數據,如果數據只有幾十筆還好,那假如有上百筆、上千筆我們該怎麼蒐集呢?這時網路爬蟲就是解決這個問題的好幫手!你可以把網路爬蟲( web crawler)想成是一種能幫我們節省複製貼上的時間,自動瀏覽和爬取資訊的網路機器人。
使用網路爬蟲可以簡單分成兩個步驟分別是取得回應和分析內容,首先,我們會有一個我們想要擷取資料的網頁,我們會對於伺服器送出Request請求,並且取得Response回應,在下面的程式碼中,我們會對於伺服器送出GET Request來取得HTML檔案的Response,再取得HTML檔案後接著我們就可以進行下一步分析內容,透過字串處理、切分、取代等的各種技巧來將HTML過濾抓到我們所要的資料。
我們先找一個想要抓取的網頁,這次我們用Chrome來示範,在Chrome的 右上角可以開啟更多工具,接著我們找到開發人員工具點進去,找到上排的Network鍵,在我們按下F5重新整理,就能看到一堆內容,找一張圖片點下去,我們就能找到user agent 網址。
現在讓我們來安裝套件。
Request
Beautiful Soup
import requestsfrom bs4 import BeautifulSoup from urllib.request import urlopen
headers = { 'user-agent': '你的user agent' }
使用PTT表特版做示範!
#取得回應 res = requests.get(‘https://www.ptt.cc/bbs/Beauty/index.html’, headers=headers) soup = BeautifulSoup(res.text, ‘html.parser’) images = soup.select(‘a[href^=https://i.imgur]) #分析內容 for image in images: print(image[‘href’]) filename = image[‘href’].split(‘/’)[3] img = urlopen(image[‘href’]) #存取圖片 ※注意!請在執行路徑建立 images 資料夾,提供程式存放圖片 with open(‘./images/’ + str(filename), ‘wb’) as f: f.write(img.read())
就可以成功爬取到網頁上的圖片囉!明天我們會更進一步去爬取其他網頁,敬請期待!
自由團隊 官方網站:https://aifreeblog.herokuapp.com/
自由團隊 Github:https://github.com/AI-FREE-Team/
自由團隊 粉絲專頁:https://www.facebook.com/AI.Free.Team/
自由團隊 IG:https://www.instagram.com/aifreeteam/
自由團隊 Youtube:https://www.youtube.com/channel/UCjw6Kuw3kwM_il39NTBJVTg/
文章同步發布於:第十二屆 IT 挑戰賽部落格