第十一屆 優選

ai-and-data
爬蟲在手、資料我有 - 30 天 Scrapy 爬蟲實戰
Rex Chien

系列文章

DAY 21

【Day 20】反反爬蟲

有些網站可能不太希望自己的內容被爬取,例如比價網站爬取各個線上購物的網站後,讓消費者很容易比價,就有可能讓某些網站流失消費者。另外如果太多外部的爬蟲在對伺服器發...

DAY 22

【Day 21】反反爬蟲 (2/2)

昨天發文後想到另一個狀況,是因為系統架構設計的關係,網站上呈現的資料並沒有在第一次發請求時取得,而是在網頁載入後陸續以 AJAX 的方式取得資料顯示在畫面上,或...

DAY 23

【Day 22】Scrapy 簡介

寫了好幾天的爬蟲,不知道大家有沒有感覺同一支程式中要關注的事情太多。目前我們爬蟲的流程大概是這樣: 發送請求,取得網頁 HTML 原始碼 可能需要額外的重試...

DAY 24

【Day 23】準備 Scrapy 開發環境

安裝 安裝套件 pipenv install scrapy 曾經在安裝的時候遇到 Twisted 一直安裝失敗,無法透過 pip 安裝。如果有遇到的讀...

DAY 25

【Day 24】第一個 Scrapy 爬蟲

昨天用 scrapy genspider ithome ithome.com 指令建立出來的爬蟲檔案 ithome.py 內容是這樣: import scrap...

DAY 26

【Day 25】用 Scrapy 爬取 iT 邦幫忙的技術文章

大概兩個禮拜前我們已經有用 requests + BeautifulSoup 兩個套件來把文章爬取下來了,今天會把相關的邏輯都移植到 Scrapy 框架中。先附...

DAY 27

【Day 26】Scrapy 的結構化資料 - Item

在前幾天的爬蟲中,我們都是以 Python dict 的結構在儲存爬取結果,隨著爬蟲數量增加,會在越來越多的程式中使用到相同的結構來儲存資料,但同時也容易在不同...

DAY 28

【Day 27】在 Scrapy 中處理爬取結果 - Item Pipelines

當 scrapy.Spider 爬蟲抓到資料後,會將資料送往 Item Pipelines 進行一系列的處理。常見的使用情境是: 清理 HTML 資料 驗證資...

DAY 29

【Day 28】Item Pipelines 應用 - 儲存資料到 MongoDB

延續昨天的主題,今天要建立一個 Pipeline 元件,用來將爬到的資料存到 MongoDB 中。 建立 Pipeline 元件 在專案目錄的 pipeline...

DAY 30

【Day 29】在 Scrapy 中處理請求和回應 - Downloader Middlewares

在 Day 22 的文章中有提到 Scrapy Engine 和 Downloader 間的資料傳遞會經過一系列的 Downloader Middlewares...