當 scrapy.Spider 爬蟲抓到資料後,會將資料送往 Item Pipelines 進行一系列的處理。常見的使用情境是: 清理 HTML 資料 驗證資...
在前幾天的爬蟲中,我們都是以 Python dict 的結構在儲存爬取結果,隨著爬蟲數量增加,會在越來越多的程式中使用到相同的結構來儲存資料,但同時也容易在不同...
大概兩個禮拜前我們已經有用 requests + BeautifulSoup 兩個套件來把文章爬取下來了,今天會把相關的邏輯都移植到 Scrapy 框架中。先附...
昨天用 scrapy genspider ithome ithome.com 指令建立出來的爬蟲檔案 ithome.py 內容是這樣: import scrap...
安裝 安裝套件 pipenv install scrapy 曾經在安裝的時候遇到 Twisted 一直安裝失敗,無法透過 pip 安裝。如果有遇到的讀...
寫了好幾天的爬蟲,不知道大家有沒有感覺同一支程式中要關注的事情太多。目前我們爬蟲的流程大概是這樣: 發送請求,取得網頁 HTML 原始碼 可能需要額外的重試...
昨天發文後想到另一個狀況,是因為系統架構設計的關係,網站上呈現的資料並沒有在第一次發請求時取得,而是在網頁載入後陸續以 AJAX 的方式取得資料顯示在畫面上,或...
有些網站可能不太希望自己的內容被爬取,例如比價網站爬取各個線上購物的網站後,讓消費者很容易比價,就有可能讓某些網站流失消費者。另外如果太多外部的爬蟲在對伺服器發...
先附上完整原始碼。跟 Day 17 的程式碼相比,只修改了 insert_article() 和 insert_responses() 兩個方法,把目標資料庫換...
抓下來的資料通常還要經過一系列的統計分析再呈現結果給使用者。這種資料一般稱為原始資料,大部分情況下抓回來後會儲存在所謂的 NoSQL 中。這兩天就會跟著大家一起...
在前三天的內容中,我們已經把文章和回應都存到資料庫中了,但如果都是用新增的方式,每次執行時如果抓到同一篇文章都會在資料庫中多出一筆,很容易造成後續分析時的誤差。...
延續昨天的內容,今天會把回應的資料存到資料庫中~ 建立資料表 建立 ithome_response 資料表,並定位相關欄位如下: 這張表比較需要注意的是有...
今天來試著把我們從列表頁開始,一路抓到的文章內容和資訊都存到資料庫中! 突然想到還沒整理過完整流程的原始碼,先來整理一下唄~ import requests f...
寫完蒐集資料的程式後,接著要選擇儲存資料的方式,通常會選擇關聯式資料庫(RDBMS)或非關聯式資料庫(NoSQL) ,應該比較少人會存成本地檔案吧。這個系列會分...
除了原文外,回文常常也是重要的資料來源之一(特別是論壇類型的網站),所以今天來嘗試把回文也抓回來吧! 技術文章有回文的不多,找到 30天30碗平民魯肉飯完食!...
通常蒐集的資料範圍不會只有文章標題和內文,還會有作者、發文時間、標籤,甚至瀏覽數、回文等等比較詳細的資訊。今天先來抓取比較簡單的幾個資訊吧。 區塊定位 昨天我們...
今天來試著抓文章的內文吧!這邊就用昨天的文章來作為爬取目標 ,順便偷人氣。 決定選擇器 直接在內文中點選「右鍵 > 檢查」打開開發人員工具,可以直接定位到...
昨天我們只有抓到第一頁的文章標題,今天就來試著讓程式學會「換頁」吧! 換頁方式 當我們在網頁中按下第二頁或下一頁後,可以發現網址變成 https://ithe...
前面提到了我們要使用 PTT 的文章當作資料集,所以今天就來教大家怎麼當個爬蟲抓資料。 相信大家直接 Google “文章爬蟲”會找到許多教學文件,也有許多現有...
隨著大數據的出現,人們開始在網絡抓取工具的幫助下從互聯網上獲取數據進行數據分析。有多種方法可以製作自己的抓取工具:瀏覽器中的擴展,使用Beautiful Sou...
參考 https://ithelp.ithome.com.tw/articles/10190573 Howard大開始爬蟲之旅! 列一下自己想要完成的目標:...
大家好,我是Zoey今天是第二天發文,還有很多不足,還請多多包涵,有錯誤可以糾正我喔!!!!謝謝!! BeautifulSoup:網頁解析 使用Beautifu...
大家好,我是Zoey第一次打技術筆記,打得不好抱歉了最近在看書練習python想說順便做做筆記有打得不好或是錯誤的地方再麻煩糾正我,謝謝大家 課本使用這本書名:...
最近在研究如何利用爬蟲下載檔案,有次在爬一個 Big5 編碼的網站時,發生一件令我困惑的事。 該網站的回傳 Header 大致如下,使用 Chrome 瀏覽器。...
今天就是最後一天惹,有些事情想跟你們講一下,那就是我們前幾天到底在幹嘛。 以下是一些示意圖,說明我們的 HTTP request 傳遞的路徑。 回覆訊息 Li...
爬蟲系列文章整理: Python scrapy 爬取 Y combinator BlogPython requests 模擬網站登入爬蟲 今天示範如何爬取...
概述 在開始看這篇文章之前,非常建議大家先熟悉個別的技術: 非同步技術以及多執行緒網頁爬取技術。以下,我想針對「他們的差別」以及在「多執行緒的技術理解焦點」兩個...
概述 在網頁的取得上,因為每次去要求server回傳html檔時,都要等待回應一段時間,此時client端(也就是你的電腦)其實是沒有在運算的,因此若能夠使用這...
概述 在解析html檔時,我們首先需要了解兩個概念,第一個是html標籤,這個部分也是組成網頁的最主要部分,第二個是定位html標籤的方法selector以及X...
接續昨天的文章... 4. 實務問題三: 一般網站的防爬蟲機制 因為網站的防爬蟲機制,一般都是在requests的階段會碰到問題,所以就在這部分講一講,比較常遇...