iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 18
0
自我挑戰組

零基礎成為 AI 解夢大師秘笈系列 第 18

【零基礎成為 AI 解夢大師秘笈】Day18 - 周易解夢之網路爬蟲基礎篇

  • 分享至 

  • xImage
  •  

斜槓學習 – 零基礎成為 AI 解夢大師秘笈

前言

系列文章簡介

大家好,我們是 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網路爬蟲基礎教學!

1 為什麼需要網路爬蟲?

在架設人工智慧前,我們需要有大數據,除了可以從數據庫獲取之外,我們也可以從網路上蒐集我們需要的數據,如果數據只有幾十筆還好,那假如有上百筆、上千筆我們該怎麼蒐集呢?這時網路爬蟲就是解決這個問題的好幫手!你可以把網路爬蟲( web crawler)想成是一種能幫我們節省複製貼上的時間,自動瀏覽和爬取資訊的網路機器人。

2 網路爬蟲兩個步驟

使用網路爬蟲可以簡單分成兩個步驟分別是取得回應分析內容,首先,我們會有一個我們想要擷取資料的網頁,我們會對於伺服器送出Request請求,並且取得Response回應,在下面的程式碼中,我們會對於伺服器送出GET Request來取得HTML檔案的Response,再取得HTML檔案後接著我們就可以進行下一步分析內容,透過字串處理、切分、取代等的各種技巧來將HTML過濾抓到我們所要的資料。

3 使用Chrome來示範

我們先找一個想要抓取的網頁,這次我們用Chrome來示範,在Chrome的 右上角可以開啟更多工具,接著我們找到開發人員工具點進去,找到上排的Network鍵,在我們按下F5重新整理,就能看到一堆內容,找一張圖片點下去,我們就能找到user agent 網址。
https://ithelp.ithome.com.tw/upload/images/20201003/20130712bg1uJNPr7A.jpg
https://ithelp.ithome.com.tw/upload/images/20201003/20130712CgG7aEKnKX.png

4 安裝套件

現在讓我們來安裝套件。

Request
Beautiful Soup

import requests
from bs4 import BeautifulSoup
from urllib.request import urlopen

5 使用你的user agent

headers = {
	‘user-agent’: ‘你的user agent’
}

6 開始爬蟲

使用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())

你就成功爬取到網頁上的圖片囉!明天我們要繼續去爬取網頁,我們明天見~

7 想更深入認識 AI . FREE Team?

自由團隊 官方網站: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知識?敬請鎖定自由團隊的頻道!)


上一篇
【零基礎成為 AI 解夢大師秘笈】Day17 - Google Colab
下一篇
【零基礎成為 AI 解夢大師秘笈】Day19 - 周易解夢之網路爬蟲進階篇
系列文
零基礎成為 AI 解夢大師秘笈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言