iT邦幫忙

鐵人檔案

2017 iT 邦幫忙鐵人賽
回列表
Big Data

研究爬蟲的世界 系列

在進行資料分析的第一步,最重要的是要先有資料,但如果沒有資料呢?我們就得把它爬回來,因為工作的需要,最近開始研究起了爬蟲,於是有了開始寫這個主題的想法。

參賽天數 14 天 | 共 15 篇文章 | 35 人訂閱 訂閱系列文 RSS系列文
DAY 1

研究爬蟲的世界:序

什麼是研究 Big Data 第一步要做的事?Wiki 說:「大數據必須藉由計算機對資料進行統計、比對、解析方能得出客觀結果。」 所以我們得先要有資料,才有所謂...

2016-12-16 ‧ 由 alincode 分享
DAY 2

研究爬蟲的世界:仁義道德篇 - robots.txt

因為一些需求我們需要從別人家把資料抓回來,既然是抓別人的東西,首先要看看別人訂的遊戲規則。 robots.txt Wiki 說 robots.txt(統一小寫...

2016-12-17 ‧ 由 alincode 分享
DAY 3

研究爬蟲的世界:仁義道德篇 - 避免過度使用伺服器資源

針對一個網頁寫一個爬蟲很簡單,但針對一個網站或一群網站寫爬蟲,就是一門學問了。從上一篇 robots.txt 的探討,不知道你有沒有注意到 crawl-dela...

2016-12-18 ‧ 由 alincode 分享
DAY 4

研究爬蟲的世界:選擇框架的兩難

非常幸運的在 Google 的茫茫大海中找到了 awesome crawler repo,從列表就可以很清楚知道 Python 的爬蟲庫資源,遠遠甩開其他語言。...

2016-12-19 ‧ 由 alincode 分享
DAY 5

研究爬蟲的世界:Simple Crawler 的特色

既然還無法抉擇,那就先看看 framework 裡有哪些寶。 提供一個非常簡單的事件導向 API 以配置為基礎寫專屬於自己的爬蟲 自動遵守 robots.tx...

2016-12-20 ‧ 由 alincode 分享
DAY 6

研究爬蟲的世界:真實範例 - 爬 MSN 新聞標題

現在讓我們牛刀小試一下,寫一個爬 MSN 新聞標題的範例,透過設定 interval 跟 maxConcurrency 即可達到前期所提的避免過度使用伺服器資源...

2016-12-21 ‧ 由 alincode 分享
DAY 7

研究爬蟲的世界 - Simple Crawler 常用事件

crawlstart 當爬蟲開始跟 restarted 的時候會觸發的事件 crawler.on("crawlstart", functio...

2016-12-22 ‧ 由 alincode 分享
DAY 8

研究爬蟲的世界 - Simple Crawler 常用配置

maxDepth 設定爬行的深度 “六度空間”理論又稱作六度分隔(Six Degrees of Separation)理論。簡單地說:“你和任何一個陌生人之間...

2016-12-23 ‧ 由 alincode 分享
DAY 9

研究爬蟲的世界 - Simple Crawler 抓取條件

當你只需要抓特定規則的頁面並非全部時,可以設定要抓取的條件,且條件可以有多個。 新增抓取條件 var conditionID = crawler.addFetc...

2016-12-24 ‧ 由 alincode 分享
DAY 10

研究爬蟲的世界 - Cheerio

從前面的範例中,我們已經知道怎麼將 html 原始碼爬出來,但是這麼繁雜的內容不容易使用,於是我們要將資料提煉出真正需要的東西,Cheerio 是一個 pars...

2016-12-25 ‧ 由 alincode 分享