有些網站可能不太希望自己的內容被爬取,例如比價網站爬取各個線上購物的網站後,讓消費者很容易比價,就有可能讓某些網站流失消費者。另外如果太多外部的爬蟲在對伺服器發...
昨天發文後想到另一個狀況,是因為系統架構設計的關係,網站上呈現的資料並沒有在第一次發請求時取得,而是在網頁載入後陸續以 AJAX 的方式取得資料顯示在畫面上,或...
寫了好幾天的爬蟲,不知道大家有沒有感覺同一支程式中要關注的事情太多。目前我們爬蟲的流程大概是這樣: 發送請求,取得網頁 HTML 原始碼 可能需要額外的重試...
安裝 安裝套件 pipenv install scrapy 曾經在安裝的時候遇到 Twisted 一直安裝失敗,無法透過 pip 安裝。如果有遇到的讀...
昨天用 scrapy genspider ithome ithome.com 指令建立出來的爬蟲檔案 ithome.py 內容是這樣: import scrap...
大概兩個禮拜前我們已經有用 requests + BeautifulSoup 兩個套件來把文章爬取下來了,今天會把相關的邏輯都移植到 Scrapy 框架中。先附...
在前幾天的爬蟲中,我們都是以 Python dict 的結構在儲存爬取結果,隨著爬蟲數量增加,會在越來越多的程式中使用到相同的結構來儲存資料,但同時也容易在不同...
當 scrapy.Spider 爬蟲抓到資料後,會將資料送往 Item Pipelines 進行一系列的處理。常見的使用情境是: 清理 HTML 資料 驗證資...
延續昨天的主題,今天要建立一個 Pipeline 元件,用來將爬到的資料存到 MongoDB 中。 建立 Pipeline 元件 在專案目錄的 pipeline...
在 Day 22 的文章中有提到 Scrapy Engine 和 Downloader 間的資料傳遞會經過一系列的 Downloader Middlewares...