• 沒有找到結果。

計算機概論作業—初學網路爬蟲

N/A
N/A
Protected

Academic year: 2022

Share "計算機概論作業—初學網路爬蟲"

Copied!
14
0
0

加載中.... (立即查看全文)

全文

(1)

計算機概論作業—初學網路爬蟲

2019/04/25

課程助教 : 陳胤竹

(2)

大綱

前言

工具安裝 (Anaconda) 程式語言 Python

認識爬蟲與基本操作

分析 HTML 格式並找尋可爬題材 進階爬蟲 ( 模擬使用者 )

可能問題集

作業規定

(3)

前言

網路爬蟲是一個減少重複複製貼上工作的工具

◦ 自動化抓取網頁內容的程式

◦ 包含文字、檔案、圖片……等

爬蟲素材

◦ 一般公開網頁資訊

◦ 請勿運用來載非法資源 ( 例如 : 大量下載版權論文 )

課堂 Demo

◦ 運用關鍵字自動載圖片 (IG+flicker)

◦ 使用工具 : Python Selenium 套件 + Google Chrome Web driver

(4)

工具安裝 :Anaconda

下載網址 : https://www.anaconda.com/

◦ 安裝教學 :

https://medium.com/python4u/anaconda%E4%BB%8B%E7%B4%B9%E5%8F%8A%E5%AE%89%E8%A3%

9D%E6%95%99%E5%AD%B8-f7dae6454ab6

使用 Jupyter Notebook

◦ 使用教學 :

https://medium.com/python4u/jupyter-notebook%E5%AE%8C%E6%95%B4%E4%BB%8B%E7%B4%B 9%E5%8F%8A%E5%AE%89%E8%A3%9D%E8%AA%AA%E6%98%8E-b8fcadba15f

(5)

作業繳交網址

網址 : http://acblab.synology.me/

請練習繳交測試作業 1 ,不計分

內附上課程式碼下載

(6)

程式語言 :Python

學習資源 :

◦ W3school: https://www.w3schools.com/python/default.asp

◦ Learnpython.org: https://www.learnpython.org/

◦ 精通 Python :運用簡單的套件進行現代運算 https://

www.books.com.tw/products/0010690075?utm_source=ilovebooks&utm_medium=ap-books&utm_co ntent=recommend&utm_campaign=ap-201703

◦ 程式書籍借閱處推薦 ( 有來上課才知道喔 !)

(7)

認識爬蟲與基本操作 -1

1. 認識網頁格式 (HTML 檔 )

◦ 使用 Chrome 瀏覽器,按右鍵 檢查 ,查看網頁原始碼” ”

2. 使用套件 requests, BeautifulSoup

3. 用 get ” 語法 將網頁原始碼抓下來 ( 範例 ) “

4. 利用 BeautifulSoup 將網頁資料以 html.parser 儲存 ( 範例 )

(8)

認識爬蟲與基本操作 -2

5. 運用 select 找出想要擷取的部分

◦ .ABC (class=“ABC” 的所有標籤 )

◦ div.DEF (class=“DEF” 的 div 標籤 )

◦ div.DEF a (class=“DEF” 的 div 標籤內所有的 a 標籤 )

◦ div.DEF > a (class=“DEF” 的 div 標籤內一層所有的 a 標籤 )

◦ #XYZ (id=“XYZ” 的標籤 )

◦ https://www.w3schools.com/cssref/css_selectors.asp

6. 從搜尋引擎抓結果

7. 下載檔案

(9)

分析 HTML 格式

<html>

<head>

XXXXXX

</head>

<body>

<p>ABCDEF</p>

<div class=“ABC”>

<div id=“XYZ”></div>

<a herf=http://tw.yahoo.com>Yahoo!</a>

</div>

</body>

(10)

分析 HTML 格式

分析各種標籤的種類、 id 、 class 名稱

◦ id 是唯一, class 不唯一

下達正確的 select 指令

目標找到符合項目最少的標籤組合

補充資料 ( 最後防線 )

◦ BeautifulSoup 中的正規表示式用法 https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%

A8%80/369794/

◦ 正規表示式語法 http://larry850806.github.io/2016/06/23/regex/

(11)

進階爬蟲

1. 遇到需要點擊按鈕才能進入的網頁 2. 防止機器人的網頁

◦ 外加 header

3. 需要滑動網頁才能新增內容

◦ Facebook, Instagram...

(12)

其他學習資源

網路爬蟲相關 :

◦ https://ithelp.ithome.com.tw/articles/10202121

◦ https://ithelp.ithome.com.tw/articles/10186119

◦ https://www.largitdata.com/course_list/1

Beautiful Soup 官方文件 :

◦ https://www.crummy.com/software/BeautifulSoup/bs4/doc/

(13)

作業規定

作業主題 : 初學網路爬蟲

作業敘述 : 請挑選一個網頁進行網路爬蟲,並繳交程式碼與結果 1. 作業必須包含兩個檔案

◦ (1) 可執行的程式碼 .py 檔 ( 檔名 : 學號 .py)

◦ (2) 書面報告 ( 檔名 : 學號 .pdf)

若有 output 檔案也可以繳交 ( 檔名無額外規定,但需要在書面報告說明 output 檔是什麼 ) 請將所有檔案壓縮成 .zip 壓縮檔 ( 檔名 : 學號 .zip)

注意 : 格式繳交錯誤斟酌扣分

(14)

作業規定

2. 書面報告內文請撰寫在 5 頁 A4 之內,爬蟲輸出成果可附在附錄或另外 output 檔,不在頁數 限制之內。

請說明

(1) 為何選擇該網頁

(2) 透過哪些方法爬到該資料

(3) 蒐集到的資料呈現 ( 可另外繳交 output 檔案或附於報告內 )

(4) 該資料可以如何進一步利用 ( 可以分析、統計等 )

3. 作業可無限次數繳交,惟獨每次繳交檔案大小有上限規定,批改以期限內最新版作業為主。

4. 作業嚴禁抄襲,但鼓勵討論,若有和同學討論出心得可以註明在書面報告內 繳交截止期限為 5/31( 五 ) 23:59

參考文獻

相關文件

 區域網路 (Local Area Network, LAN) 為規模最小 的網路, 範圍通常在 2 公里內, 例如:同一層樓的 辦公室, 或是同一棟建築物內的網路。...

了解電腦網路的原理,學習使用 個人網誌及簡易的網頁設計,具 備電子商務的觀念、網路安全以 及網路犯罪與相關法規.

由於較大型網路的 規劃必須考慮到資料傳 輸效率的問題,所以在 規劃時必須將網路切割 成多個子網路,稱為網 際網路。橋接器是最早

機器人、餐飲服務、花藝、雲端運算、網路安全、3D 數位遊戲藝術、旅 館接待、行動應用開發、展示設計、數位建設

國立高雄師範大學數學教育研究所碩士論文。全國博碩士論文資訊網 全國博碩士論文資訊網 全國博碩士論文資訊網,

市場學原理 電子商貿概論 營運管理學 商業財務學 專題習作. 選修單元(專修會計及財務) 計算機化會計系統

計算機網路 微積分上 微積分下

 點擊按鈕「Rollover」,工作表便會剪下紅色線以下的資料並複 製至綠色線以下的儲存格。