大家好,我們是 AI . FREE Team - 人工智慧自由團隊,這一次的鐵人賽,自由團隊將從0到1 手把手教各位讀者學會 (1)Python基礎語法 (2)Python Web 網頁開發框架 – Django (3)Python網頁爬蟲 – 周易解夢網 (4)Tensorflow AI語言模型基礎與訓練 – LSTM (5)實際部屬AI解夢模型到Web框架上。
自由團隊的成立宗旨為開發AI/新科技的學習資源,提供各領域的學習者能夠跨域學習資料科學,並透過自主學習發展協槓職涯,結合智能應用到各式領域,無論是文、法、商、管、醫領域的朋友,都可以自由的學習AI技術。
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 requests
from 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’])
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/
文章同步發布於:自由團隊部落格
(想看更多文章?學習更多AI知識?敬請鎖定自由團隊的頻道!)