• 沒有找到結果。

網路糾察隊

N/A
N/A
Protected

Academic year: 2021

Share "網路糾察隊"

Copied!
37
0
0

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

全文

(1)

i

崑 山 科 技 大 學

資 訊 工 程 系

專題製作報告

網路糾察隊

製作學生: 4050E106 楊智傑

4050E069 徐御展

指導老師 : 林錦財 老師

中 華 民 國 一○九 年 六 月

(2)
(3)

iii

目次

專題製作報告授權同意書………ii 摘要………v 第一章 緒論 ………1 第一節 研究動機與目的………6 第二節 研究方法………8 第二章 文獻探討 第一節 網路爬蟲………10 第二節 Beautiful Soup 套件………11 第三節 什麼是網頁爬蟲………12 第四節 網頁爬蟲應用的情………13 第五節 網路爬蟲 web crawler………15 第六節 網頁抓取 web scraper………16 第三章 實現方案 第一節 如何進行網路爬蟲………18 第二節 網路爬蟲的組成………20 第四章 賽事數據爬取與應用

(4)

iv 第一節 NBA 賽事介紹………22 第二節 NBA 數據網站資料格式………23 第三節 開發工具介紹………24 第四節 表單數據解析………25 第五節 球場位置分析………27 第五章 實作 第一節 建立表單與表單資料庫………28 第二節 撰寫程式 jupyter notebook………29 第三節 使用 SQL 語法找尋資料………31 第四節 可分析資料(戰術) ………32 第五節 HTML………33 第六章 結論 第一節 結論與建議………35 第二節 對於資料持有者的策略建議………37 第三節 對於資料擷取者的策略建議………41 參考文獻………42

(5)

i

摘要

隨著大資料時代的來臨,網路爬蟲在網際網路中的地位 將越來越重要。網際網路中的資料是海量的,如何自動高效 地獲取網際網路中我們感興趣的資訊併為我們所用是一個 重要的問題,而爬蟲技術就是為了解決這些問題而生的。 我們感興趣的資訊分為不同的型別:如果只是做搜尋 引擎,那麼感興趣的資訊就是網際網路中儘可能多的高質量 網頁;如果要獲取某一垂直領域的資料或者有明確的檢索需 求,那麼感興趣的資訊就是根據我們的檢索和需求所定位的 這些資訊,此時,需要過濾掉一些無用資訊。前者我們稱為 通用網路爬蟲,後者我們稱為聚焦網路爬蟲。 我不是一個非常懂 NBA 的球迷,所以我就直接去 NBA 官網 http://www.nba.com/ 抓資料,進去網站後上方 有個 Scores,點擊後就會出現今天賽程的所有比賽清單和分 數。那麼我們只需要把這個頁面解析出來,應該就能完成任 務。

(6)

1

第一章 緒論

第一節 研究動機與研究目的

近年來有許多 APP 以迅雷不急掩耳的速度站穩了市場主 流,其中以訂房網站為例,傳統透過電話或各飯店網站訂房, 無法得知最新的訂房資訊和訂房價錢,透過爬蟲程式收尋了 所有訂房資料彙整成 APP 供民眾選擇適合自己需求的房間, 也提供許多網站上的價格比價,殊不知網路爬蟲程式漸漸影 響了我們的生活,讓民眾有更多選擇。 大數據正在劇烈改變我們的生活,資料是創新的驅動力, 深刻影響包含教育、公衛、醫療、商業等公私的領域,並催 生以資料為核心的全新商業模式。透過大數據分析所帶來的 新知識,可以顛覆各個領域的生態環境,有機會創造前所未 見的新產品與服務。 過去要進行資料相關性的統計與分析,多必須倚賴人工 進行收錄非常繁瑣,然而,這樣的資料蒐集方式需耗費大量 人力成本、整理的資料也非常有限,又可能因為人為因素主 觀選擇,增加後續分析的母體資料客觀性的疑慮,因此,市 場急需自動化、大量蒐集資料的技術,以利後續資料分析,

(7)

2 創造資料的利用價值。而網路資料爬蟲就是網路產業經常使 用的一種技術,透過網路爬蟲等自動化程式,其以浩瀚的網 際網路作為資料的來源,研究人員、新聞工作者 得應用爬蟲 技術觀察人類的行為模式 、 預測投票傾向等等,企業也能 以網路上蒐集之資料為基礎,推創新服務與應用。 我們所研究的是對於喜歡運動熱愛運動,持續在關注美 國職籃 NBA 的熱血球迷們,作為分析選手數據、團隊戰術, 每位選手擅長出手的位置和打法,和投球的命中率和進攻策 略,防守戰術等等,讓球迷們不只可以看球,也可以互相討 論支持自己喜歡的選手和隊伍,甚至可以更加精進自己的球 技和隊伍隊友的默契做戰術分析,透過結合 NBA 官網所提 供的球員數據資料,以匯入資料庫結合表單進行分析,透過 SQL 語法找出想要得知的球員、球隊資料。

第二節 研究方法

網路爬蟲又稱網路蜘蛛、網路螞蟻、網路機器人等,可 以自動化瀏覽網路中的資訊,當然瀏覽資訊的時候需要按照 我們制定的規則進行,這些規則我們稱之為網路爬蟲演算法。

(8)

3 使用 Python 可以很方便地編寫出爬蟲程式,進行網際網路 資訊的自動化檢索。 搜尋引擎離不開爬蟲,比如百度搜尋引擎的爬蟲叫作百 度蜘蛛(Baiduspider)。百度蜘蛛每天會在海量的網際網路 資訊中進行爬取,爬取優質資訊並收錄,當使用者在百度搜 尋引擎上檢索對應關鍵詞時,百度將對關鍵詞進行分析處理, 從收錄的網頁中找出相關網頁,按照一定的排名規則進行排 序並將結果展現給使用者。 在這個過程中,百度蜘蛛起到了至關重要的作用。那麼, 如何覆蓋網際網路中更多的優質網頁?又如何篩選這些重 複的頁面?這些都是由百度蜘蛛爬蟲的演算法決定的。採用 不同的演算法,爬蟲的執行效率會不同,爬取結果也會有所 差異。所以,我們在研究爬蟲的時候,不僅要了解爬蟲如何 實現,還需要知道一些常見爬蟲的演算法,如果有必要,我 們還需要自己去制定相應的演算法,在此,我們僅需要對爬 蟲的概念有一個基本的瞭解。

(9)

1

第二章 文獻探討

第一節 網路爬蟲

網路爬蟲是對一個網站或一組網站進行資料爬取,分析 所獲取的頁面然後報告其結果的程 序。它需要編寫,以便它 可 以 在 有 空 閒 時 間 的 計 算 機 類 型 上 執 行 , 通 常 是 在 Windows 版本的電腦 上執行,因此可以用 C,Java,Visual Basic 或 Delphi 編寫。(Mike Thelwall,2001)。 網路爬蟲按 照結構和實現技術,大致可分為以下三種類型:通用網路爬 蟲(General Purpose Web Crawler)、主題網路爬蟲(Topical Web Crawler),和深層網路爬蟲(Deep Web Crawler)。而在 實際應用中,通常是將這幾種爬蟲技術相互結合。其中「通 用網路爬蟲」是根據預先設定的一個或多個初始 URL 開始, 以此獲得初始網頁上的 URL 列表, 在爬取資料過程中不斷 從 URL 列表中獲一個的 URL,進而訪問並下載該頁面。而 「主題網路爬蟲」並不追求大的覆蓋率,也不是全盤 接受所 有的網頁和 URL,它根據既定的抓取目 標,有選擇的訪問 全球資訊網(World Wide Web,WWW)上的網頁與相關 的鏈接,獲取所需要的資訊,克服了通用爬蟲存在的問題。

(10)

2

至於「深度網路爬蟲」則是基於 1994 年 Dr.jillEllsworth 提 出 DeepWeb(深層頁面)的概念(D.Tikk, Z.T.Kardkovacs, Z. Andriska, G. Magyar, A. Babarczy & I. Szakada,2001),即 DeepWeb 是指普通搜尋引擎難以發現的資訊內容的 Web 頁面。 DeepWeb 中的信息量比普通的網頁信息量多,而且 質量更高。但是普通的搜尋引擎由於技術限制而搜集不到這 些高質量、高權威的信息。這些訊息通常隱藏在深度 Web 頁 面的大型動態資料庫中,涉及數據集成、中文語義識別等諸 多領域。 本專題在爬蟲方式上採用方式為主題爬蟲, 因利用其 可以有目的、有控制的抓取與特定主題相關的 web 頁面資訊 的功能來爬取我們所需的討論區討論內容。

第二節 Beautiful Soup 套件

Beautiful Soup 是一個基於 HTML / XML 分析 引擎的 Python 數據庫,用於在網頁的文檔對象模型(Document Object Model ,以下簡稱 DOM)樹中提 取,分析和編輯信 息。它提供了一系列簡潔 DOM 訪問者界面,幫助開發人員 快速構建系統原型並 獲取實驗數據。除此之外,它還具有很

(11)

3

高 的 跨 平 台 靈 活 性 。 (C.Zheng , G.He, Z.Peng,2015) 。 Beautiful Soup 提供一些簡單的、python 的函 數用來處理 導航、搜索、修改分析樹等功能。它 是一個工具箱,通過解 析文檔為使用者提供需要 抓取的資料,因為簡單,所以不需 要多少代碼就 可以寫出一個完整的應用程式。 本研究中使 用 beautiful Soup 的便利性來實現 網路爬蟲的部分。

第三節 什麼是網頁爬蟲

網頁爬蟲是指利用程式去自動獲取網頁資訊的技術,當 你掌握了此技術之後,你就可以有源源不絕的資料進行各種 應運。因此這是現今資料分析人員必定要掌握的技術。 一般使用者是以瀏覽器依據網址(url)向某一網站伺服 器送出請求(request),如果對方伺服器同意你的請求,就會 做出回應(response),將網頁的原始碼回傳給你的瀏覽器,瀏 覽器再將原始碼轉換成圖文並茂的頁面。而網頁爬蟲即是以 程式碼偽裝成一般的使用者,向對方伺服器送出請求,取得 回應(原始碼),再從原始碼中抽取出需要的資訊。相較於 人工操作的,是將需要一頁頁的將某資訊複製貼上到你的資 料集中,網路爬蟲在拜訪網站時是以程式碼進行,因此可以

(12)

4

重複的 、自動的一再拜訪,這樣可以為你的人生省下許多寶 貴的時光。

圖 1、網頁瀏覽器的運作方式

(13)

5

第四節 網頁爬蟲的應用情況

使用網頁爬蟲的可能情景如下: 1. 每天自動下載蘋果日報 所有當日的文章標題 2. 將蛛式會社 或其他臉書社團中的蜘蛛照片下載下來。 3. 蝦皮購物搜尋 "PS4" 得到的所有商品名稱與價格。 4. 自動抓取股票資料、球賽資料、賽馬資料等等。 5. 族繁不及備載... 中文上大家習慣以"網路爬蟲"統稱,但事實上,爬蟲是包含 了這兩個分類:網頁爬蟲(web crawler)和網頁抓取器(web scraper)。以下詳細說明它們的區別。

第五節 網

爬蟲 web crawler

Web crawler 又稱為 spider , spiderbot ,或直接簡 稱 crawler。一般是搜尋引擎進行網路索引時(web indexing) 使用的技術。crawler 會造成網站伺服器的負擔,或侵犯一些 隱私資訊,因此網頁開發人員會在網站中添加 robots.txt 這 個檔案或添加,用來告知 crawler 這個網站中哪些東西可以 取得或不可取得。

(14)

6 首先拜訪數個網站,獲取這些網站內的所有超連結,一一 拜訪這些連結,再獲取一大堆新的連結。再一一進入獲得 的超連結,連出去,重複此動作。大部分網路爬蟲是應用 在大規模的拜訪不特定的網站。

第六節 網頁抓取器 web scraper

Web scraper 又 稱 為 web harvesting, web data extraction,和網頁爬蟲極為相似,通常指針對獲取特定網域 底下的數個分頁的資料,並將其轉化程結構化的格式(如漂 亮整齊的 excel 表)的過程。 除了連續獲得連結,連出去之外(如同 crawler),還必 須剖析(parse)各分頁的原始碼,將含有你需要的資料片段擷 取下來。它的應用可以是任何規模,通常是針對特定幾個網 站。 一般中文稱呼的網路爬蟲,事實上指的是這一類(web scraper),而非 web crawler。

(15)

1

第三章 實現方案

第一節

如何進行網路爬蟲?

要進行網頁資料爬取,大致需要以下的過程: 1. 鎖定目標 需要哪些資料?目標網站是哪幾個? 2. 觀察網站結構 觀察目標網站的伺服器是如何存取資料。在網頁原始碼 里嗎?又或者是動態網站,以 GET 或 POST 來產生你所看到 的資訊?將資訊藏在 xml、json 等檔案之中嗎?是否有提供 api 可以直接拿到資料呢?以此來決定要用哪種方式獲取網 頁資訊。 3. 嘗試爬取各網頁 試圖獲得 html 原始碼。 觀察一下, 是否會被對方伺 服器判定成惡意程式擋掉呢?如何偽裝躲過判定?如何送 get 或 post 資料給目標網站呢?如何處理認證問題呢?

(16)

2 4. 剖析網頁原始碼 是否能將 html 原始碼中,含有你所要的資訊的片段, 抓取下來? 5. 重複爬取 當可以成功獲得一個分頁的特定資訊後,就可開始利用 迴圈大規模的重複拜訪撈資料。這個過程中很容易會遇到例 外狀況將你的爬蟲程式阻隔。 6. 打包資料,輸出 上述步驟成功之後,現在可以將努力獲取來的資料拿去 做你要做的事,恭喜你完成了一次精彩的網頁爬蟲!

第二節 網路爬蟲的組成

網路爬蟲由控制節點、爬蟲節點、資源庫構成。

(17)

3 網路爬蟲中可以有多個「控制節點」,每個控制節點下 可以有多個「爬蟲節點」,控制節點之間可以互相通訊,同 時,控制節點和其下的各爬蟲節點之間也可以進行互相通訊, 屬於同一個控制節點下的各爬蟲節點間,亦可以互相通訊。 控制節點也叫作爬蟲的中央控制器,主要負責根據 URL 地址分配執行緒,並呼叫爬蟲節點進行具體的爬行。 爬蟲節點會按照相關的演算法,對網頁進行具體的爬行, 主要包括下載網頁以及對網頁的文字進行處理,爬行後,會 將對應的爬行結果儲存到對應的資源庫中。

(18)

1

第四章 賽事數據爬取與應用

第一節 NBA 賽事介紹 NBA 正式賽季於每年 10 月中開始,分為例行賽、季後 賽兩大部分。例行賽為循環賽制,每支球隊都要完成 82 場 比賽;例行賽到次年的 4 月結束,每個聯盟的前八名將有資 格進入接下來進行的季後賽。季後賽採用七戰四勝賽制,共 分四輪;季後賽的最後一輪也稱為總決賽,由兩個聯盟的冠 軍爭奪 NBA 的最高榮譽──總冠軍。整個 NBA 賽季當中,例 行賽完結之後聯盟冠軍及分區冠軍不設獎盃,只給予得獎球 隊錦旗一個,但聯盟冠軍及總冠軍均設有獎盃加錦旗。

(19)

2 第二節 NBA 數據網站資料格式 NBA 籃球賽事資訊包括以下兩種表單: NBA shooting 表單 NBA general 表單 重要的表單數據說明如下:

(20)

3  投籃得分 FG (Field Goal)  球員平均每一場得分 PTS  每場比賽投籃進球數 FGM  每場比賽投籃次數 FGA  投籃命中率 FG%  進球數 FGM / 出手次數 FGA = 投籃命中率 FG%  球場位置分析 由 A 區塊開始依序 A,B,C,D,E

(21)

4 第三節 開發工具介紹 Python Python 從外在條件來看,簡潔有力、便於閱讀、獨 特神秘,是一種學習門檻較低、功能強大且豐富,屬於一 種通用型的程式語言,也是 YouTube、Google、Yahoo!、 Facebook、Dropbox、Gmail 等等知名平台都在大量使用 的程式語言

(22)

5

Jupyter notebook

Jupter Notebook 您可以把它想像成成上述所講的 IPython + Notebook 集成架 構,它是一個介於編輯器(例如 Atom)和 IDE(Spider,PyCharm,Vim)之 間的應用環境,可讓您編寫程序 Jupyter Notebook 包含了兩個組成:Web 應 用程序和筆記本文檔。時空利用其直譯式的特性,達到高互動執行結果,並且 很容易呈現數據視覺化的執行。

(23)

6

多,或是資料庫只會在單機上使用,且沒有讓多人使用的需求的 話,就不一定需要特別架一個資料庫系統;因此,可以使用類似

(24)

1

第五章

第一節 建立表單與表單資料庫 首先在 SQLite 資料庫中定義資料表綱要,如下所示: 第二節 撰寫程式 jupyter notebook 連結資料庫 SQLite

接著利用 jupyter notebook 頁面以 python 爬蟲程式連 結 SQLite 資料庫,程式碼如下所示:

(25)

2

執行程式碼之後,便可以將 NBA 數據匯入 SQLite 資料 庫(如下所示):

(26)

3 第三節 使用 SQL 語法找尋資料 一旦取得數據,我們便可以依照需求取得相關的資料, 例如:球員 ID,球員名子,命中率,每場平均次數,中距離出手次 數,中距離命中率等。 第四節 可分析資料(戰術) 接著,我們可以利用程式碼將以下的數據分析出來:  中距離命中率高球員 (代表非常擅長在中距離出手)  中距離平均出手次數球員 (代表越喜歡在中距離出手)  禁區命中率高球員 (代表禁區防守能功能守)

(27)

4  出賽比例高球員 (代表對球隊有高價值球員)  中距離投籃命中率大於幾% (代表投籃水準在平均值以上)  排序資料庫結果:  升冪 (小到大)  降冪 (大到小)  如果數值相同用,設定次要的排序欄位 第五節 HTML 我們再使用 HTML 展示網頁輸入表單,讓使用者可以依 照需求查詢相關的資訊:

(28)
(29)

6 收尋結果

第六章 第一節 結論

第一節 結論與建議

回顧網路資料爬梳技術的發展背景,其隨著網際網路而 誕生,因大數據分析技術的發展而茁壯,可以應用在擷取各 種各樣的資料來源, 輕易加以複製與利用,正體現網際網路

(30)

7 有利於資訊分享的本質,也平添規制網路領域的行為的挑戰 性。 從案例中亦可觀察到此技術的變遷與發展,雖然可以粗 略歸納網路爬蟲的運用模式為搜尋引擎、聚合網站與資料分 析,然而爬蟲的應用模式卻已經出現混合的情況:例 如「元 搜尋引擎」結合了搜尋引擎 與聚合網站的功能,「聚合」各 家「搜尋引擎」呈現搜尋結果 。換言之,網路資料爬梳的法 律問題仍高度取決於個案事實與利用模式,尚難以絕對定義 與歸類資料擷取者來簡單判斷資料利用的合法性。雖然如此, 透過本文國內外案例的回顧與評析,資料利用模式的合法性 並非完全無法預見,重點在於,網際網路資訊自由流通需與 市場各方參與者利益平衡,如搭便車利用他人網頁資料、卻 又實質取而代之,自有不正競爭法制介入評斷正當性的空間。 進一步而言,在網際網路領域規範行為的方式,並不是只能 借助「法律」這股力量。如 Lawrence Lessig 所提出,行為 的規範是由「法律」、「市場」、「社會規範」、「科技架 構」等四種力量共同交織與形塑 。除了法律以公權力的施展 作為限制,市場透過設定價格、議價力等市場機制決定行為 的成本,進而影響人的行為選擇;而社會規範類似於人生活

(31)

8 於社會必須服膺的倫理道德;科技架構則指技術本身或是物 的客觀條件,限制可能的行為選項。

第二節 對於資料持有者的策略建議

防禦網路爬蟲在技術上,最重要的就是區別一般使用者 與自動化程式,讓前者自由瀏覽網頁,而儘量阻擋後者 ;然 而道高一尺,魔高一丈,要寫出一個自動化程式完全無法擷 取資料的網站十分困難。即便可以採用例如 CAPTCHA 之 類的認證技術,要求使用者輸入圖片上的歪七扭八的亂數作 為 認證碼,但有些網路爬蟲有著自動辨識文字 並輸入的功 能,有的則可以改變網路爬蟲發送要求的標頭( headers) 來模擬一般使用者,增添分辨瀏覽者身分的困難。況且,過 多的認證流程也會造成使用者的不便,也有使用者誤被阻擋 的可能。 因此,網站經營者在資訊技術發展快速與資料重要 性升高的當代,思維必須改變。與其一昧將網路爬蟲視為洪 水猛獸,不如積極地認識網路資料爬梳技術的作法與其優缺 點。 1. 確認將資料發佈於公開網頁的必要

(32)

9 首先, 網站在資料管理方面,應該檢視自己的經營模 式,確認網頁上所載有的資料之公開程度是否符合網站經營 的需求?如果事業蒐集的資料有涉及使用者隱私等資安問 題,考量用戶利益以及網站的利益,本不應將該等資料公開 於網路上任人瀏覽與輕易下載。在符合特定要件下,甚至可 將該等資料作為營業秘密來保護。然而,以房屋租賃網站或 電子商務網站而言,公開房屋所在地及評價、商品品項與價 格,是有利消費者查詢所必須,資料持有者即可預期將面臨 網路爬蟲大量瀏覽網站的情況。在此情形下,資料持有者應 善加利用爬蟲協議,明確化不願受到擷取的頁面。一方面設 置爬蟲協議可避免被認定為默示授權網路爬蟲擷取資料,另 一方面從網路爬蟲的生態加以理解,目前法院已經承認搜尋 引擎的技術對於社會的貢獻,並肯認其不可能一一取得網站 的個別授權始製作網頁索引,可以預期技術所造成的授權模 式已經改變,網站與其被動等待資料擷取者洽談授權,宜主 動以爬蟲協議宣告允許擷取範圍,兼以其他防禦網站的技術 措施加以因應,控制資料分享的範圍。 2. 以科技防禦網站,兼及適時分享與開放資料

(33)

10

資料持有者更應該認識第三方利用資料可能帶來的潛 在好處,適 時採取資料分享與開放的模式,創造雙贏局面。 不只是 Facebook、 Twitter 等社交網站,知名運動賽事網 站 ESPN 以及 Google,均透 過開放 API 使第三方得以開 發新網站工具,提供網站用戶更高的附加價值,不但不侵蝕 網站的原本利益,而是增加網站黏著度—使原本使用者繼續 愛用網站,又因此吸引更多 用戶加入使用。雖然聚合網站類 型的爬蟲可能使原網站喪失使用者在網站上活動的紀錄,但 卻有助於提高消費者實際下單的交易量,此時開放 API 的 作法,不僅可以 避免聚合網站透過網路爬蟲轉載的資料有 誤,框定資料持有者願意 分享的資料形式與範圍,亦可作為 額外的獲利來源。以科技架構與市場機制的角度觀察,如前 一點所提及採取 爬蟲協議及其他防禦網站的技術措施,例 如,將網頁程式寫得較為複雜,或是網頁不斷動態更新,將 使技術較初階的網路爬蟲難以分析網站或輕易擷取大量資 料,此舉反而有助於使資料擷取方優先考慮取得 API 等請 求授權使用資料。 3. 積極因應網路爬蟲的影響,檢討網站獲利方式

(34)

11 有較激烈的見解認為 ,若有好的商業模式,法律的保 護並不那麼重要。此仍與網路領域越發激烈且快速的競爭態 勢有關,資料只會越來越有價值,也會開發出越來越多利用 與分析資料的技術 、新的商業模式,以致於廣告收益不一定 能夠成為企業永續經營的唯一獲利來源。在傳統的著作權法 概念下,著作權人需要透過從著作物本身的交易或授權獲利, 因此必須賦予著作權人高強度的專有權利;然而時代 進展, 許多著作權人反而先將作品開放給大眾自由近用,吸引關注 者的注意力,再透過周邊商品、舉辦實體活動、廣告代言等 盈利,與著作權所賦予的專屬權利 不一定相關。以此角度觀 之, 資料持有者可以轉換思維模式,如開放資料於公開網路 上屬於經營的必須 ,可以尋求與資料擷取者合作的機會。 第三節 對於資料擷取者的策略建議 1. 優先使用目標網站提供的資料授權管道 前述開展法律議題討論,主要是假定含有所需資料的網 站並 沒有提供適合的使用目的 之 API,然而原則上,在決 定是否自行運用網路資料爬梳技術擷取網頁資料前,資料擷 取者其實可以優先考慮使用網頁提供的 API,或直接聯絡網

(35)

12 站經營者請求資料。如價格合理並符合需求,即可以透過 API 取得格式清理完成的資料,不但避免資料有所缺漏與錯 誤,甚至也可以交替運用 API 和網路資料爬梳技術,更完整 地進行資料蒐集與分析,獲得有意義的分析結果。如網站並 未提供 API,資料擷取方同樣應該檢視擷取資料的利用目的, 確認網頁資料是否已經公開,又是否含有個人資料等隱私成 分 ,以避免法律糾紛。 2. 勿設定瀏覽網站頻率過高的網路爬蟲程式 一旦運用網路資料爬梳技術,資料擷取方應檢視自己的 商業模式,確認擷取資料的頻率與速度是否有必要。 例如, 價格聚合網站為了精確且即時地跟隨各大電商網站更新價 格,較難避免在較短時間內一再訪問網站;而搜尋引擎類型 的網路爬蟲,重點在於廣泛蒐集網路上的頁與內容製作索引, 即無需過度頻繁地瀏覽網站。由於網站經營者可以觀測特定 IP 位址對網站提出要求的頻率,來辨別瀏覽者是一般使用者 或是網路爬蟲程式,如果資料擷取者過於快速地向網站要求 資料,不僅可能佔用過多目標網路流量資源,干擾網站正常 運作,也更有可能被網站經營者發現來自特定 IP 位址的是

(36)

13 網路爬蟲程式,而遭到阻擋(又稱 IP 黑名單,IP address blocking),無法繼續擷取資料。因此視擷取資料的需求量, 擷取網頁資料應該注意要求資料速度與頻率,或選擇在離峰 時段擷取,透過函式的設定模擬一般使用者,不過度造成目 標網站伺服器的負擔。 3. 加值利用網頁資料,勿實質取代資料來源網站之功能 在資料利用的方式上, 資料擷取者最好在擷取資料後, 選擇加值、 轉化利用擷取而來的資料,而非單純抄襲,或是 用於與原網站競爭性 的用途。由我國房仲訴屋比案可以得 出,資料擷取方宜以說明文字和超鏈結,明確指向資料的來 源 並引導用戶回到原網頁取得相關資訊,此舉有助於法院 認定網路爬蟲沒有取代原網站市場地位的意圖 。當然,實際 上有無取代原網站的市場地位,仍取決於資料呈現與利用的 模式而定,例如 Google 與 Yelp 的爭議,聚合網站如呈現 擷取之資料過於 全面與大量, 即便留有超鏈結作為資料來 源之指示,亦 無法達到引導用戶回到原網站的功效,仍可能 被判斷為不正競爭行為。

(37)

1 參考文獻 https://freelancerlife.info/zh/blog/python-web-scraping-overview/ https://medium.com/@bindaguo/%E7%B6%B2%E8%B7 %AF%E7%88%AC%E8%9F%B2%E6%B7%BA%E8%AB%8 7-afcae0694f13 https://iter01.com/159404.html

參考文獻

相關文件

以前參加科展時,在網路上看過水果發電的研究,覺得很好奇,便到網路上查相關的資

URL:Universal Resource Location 全球資源位置 URL:Uniform Resource Locator 統一資源定位器 http:// ftp:// news://. 瀏覽器(brower):

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

熟悉 MS-OFFICE

• External Sort: 資料太大了, 有些要放到別的地方 (硬碟, 記憶 卡, 網路上的其他電腦上, 等等等).. •

哈瑞斯女士說,假如 Google 光是簡單地撤 出中國,外界會認為他們拋棄中國用戶; G oogle 是盡了很大的努力,來保證搜索內容

熟悉 MS-OFFICE

在網路數位的時代,人們將面對越來越多資訊安全的威脅,對於此行政院將 特別在今年