104學習精靈

JSON

JSON
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
關於教室
關注人數 6 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 6 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

JSON 學習推薦

全部
影片
文章
Mike Ku

Learn Code With Mike品牌創辦人

2021/12/29

快速入門Scrapy框架的5個執行模組及架構
一般想要自動化蒐集網頁上的資料時,普遍都會使用像BeautifulSoup或Selenium套件開發Python網頁爬蟲來取得,但是,如果所要爬取的資料量較大,擁有複雜的邏輯處理及效率的要求,這時候就會建議使用Scrapy框架,來幫助開發人員建立一個維護性較好的Python網頁爬蟲。
而要使用Scrapy框架來開發大型的Python網頁爬蟲專案前,本文就先來帶大家瞭解一下Scrapy框架。
Q:Scrapy框架是什麼?
Srapy是一個網頁爬蟲「框架」,擁有完整的Python網頁爬蟲開發功能,也提供開發人員能夠進行客製化,並且,有一定的專案架構及執行流程,所以在未來的維護上較為容易。
另外,Scrapy框架是基於Twisted非同步網路框架所建立的,執行效率也非常的好,適用於大型的Python網頁爬蟲專案。而Scrapy框架與常應用於網頁爬蟲的BeautifulSoup及Selenium套件比較,可以參考BeautifulSoup vs Selenium vs Scrapy三大Python網頁爬蟲實作工具的比較( https://www.learncodewithmike.com/2020/11/beautifulsoup-vs-selenium-vs-scrapy-for-python-web-scraping.html )文章。
Q:Scrapy框架模組包含哪些?
Scrapy框架是由以下5個主要模組結合而成,各自有負責的職責,來達成有效率的非同步Python網頁爬蟲,其中每個模組的功能說明如下:
1.SPIDERS(爬蟲程式):撰寫Python網頁爬蟲程式碼的地方,向ENGINE(引擎)發送網頁請求,以及將ENGINE(引擎)所接收的回應結果進行解析與爬取。
2.ENGINE(引擎):Scrapy框架的核心模組,就像汽車的引擎一樣,負責控制各個模組、傳遞請求及資料。
3.SCHEDULER(調度器):將ENGINE(引擎)所接收的SPIDERS(爬蟲程式)請求進行列隊,也就是排隊的意思,來調度請求的順序。
4.DOWNLOADER(下載器):負責下載ENGINE(引擎)接收到SCHEDULER(調度器)調度請求的網頁HTML原始碼,提供回應結果給ENGINE(引擎)。
5.ITEM PIPELINE(資料模型管道):將SPIDERS(爬蟲程式)所取得的資料進行後續處理,像是資料清理、存入資料庫(例:MySQL)或存入檔案文件(例:CSV、JSON)等。
Q:Scrapy框架執行流程是如何運作的?
對Scrapy框架的5個主要模組有一個基本的認識後,各個模組間的關係及執行流程又是什麼呢?
1.ENGINE(引擎)接收SPIDERS(爬蟲程式)所發送的一至多個請求。
2.ENGINE(引擎)將請求傳遞給SCHEDULER(調度器)進行列隊。
3.ENGINE(引擎)向SCHEDULER(調度器)提取下一個所要發送的請求。
4.ENGINE(引擎)將請求傳遞給DOWNLOADER(下載器)。
5.DOWNLOADER(下載器)將ENGINE(引擎)傳遞的請求網頁HTML原始碼下載下來,並且回應結果給ENGINE(引擎)。
6.ENGINE(引擎)將回應的結果傳遞給SPIDERS(爬蟲程式)。
7.SPIDERS(爬蟲程式)進行結果的解析及資料的爬取,組成ITEMS,傳遞給ENGINE(引擎)或發送新的請求。
8.ENGINE(引擎)判斷SPIDERS(爬蟲程式)所傳遞過來的如果是ITEMS(資料),就會傳遞給ITEM PIPELINES(資料模型管道),進行後續的資料清理及儲存等。反之,如果傳遞過來的是新的請求,也就是相當於第一個步驟,接著,傳遞給SCHEDULER(調度器),以此類推,重覆這樣的流程,直到SCHEDULER(調度器)沒有請求為止。
本文簡單介紹了Scrapy是一個功能完整與快速的Python網頁爬蟲框架,包含5個主要模組,各司其職,藉由ENGINE(引擎)來進行整合,並且依照一定的執行流程,來達成非同步的網頁資料爬取,適用於大型且複雜的Python網頁爬蟲專案,希望接下來的系列教學內容能夠幫助大家對Scrapy框架有一個基本的認識。
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2020/12/python-scrapy-architecture.html )網站觀看更多精彩內容。
2 0 429 2

熱門精選

104學習精靈

產品

09/10 11:01

🌟找尋讓你發光的職涯天賦|AI 個人化報告 x 專業測驗解析
你是否曾經在工作中感到迷茫,不確定自己真正適合什麼樣的職業?還是你已經在職場多年,卻覺得找不到發揮天賦的機會?
現在,機會來了!
透過AI專業測驗與職涯規劃課程,幫助你重新認識自己,挖掘最適合你的職場定位。不論你是正在求職、職涯轉型,還是想要突破職場瓶頸,這堂課都能給你全新的啟發和方向!
👩‍🏫 課程亮點:
✅ AI個人化報告,精準解析你的職涯優勢
✅ 專業測驗幫助你找到真正適合的工作方向
✅ 超強實作課程,引導自我評估與回顧心流,找出專屬的天賦才能
🎁 特別加碼:
參加課程還可獲得專屬100點 LINE POINTS獎勵!
6 2 17102 1
104學習精靈精選課程
看更多課程
想提升職場競爭力?專業技能課程看起來👇
學習精靈

04/02 00:00

145 2
學習精靈

04/05 00:00

405 2

推薦給你

知識貓星球

喵星人

17小時前

UIUX 設計師必備:IconKitchen 快速生成高品質 App icon 的免費 AI 工具|功能優勢、使用教學
在設計App圖標時,你是否常為了調整不同平台的尺寸和格式而煩惱?IconKitchen 是一款專為解決這個問題的AI工具,能夠快速生成各種應用程式的圖標,無論是iOS、Android還是網站。這篇文章將介紹IconKitchen的功能優勢、使用教學以及費用方案,幫助你在短時間內輕鬆完成圖標設計,提升工作效率。
▍IconKitchen功能優勢
IconKitchen 是一款針對開發者和設計師的專業圖標生成工具,其最大的特色在於支援多平台圖標的快速製作。無論是iOS、Android(包含自適應圖標),還是網站的favicon或macOS應用程式圖標,IconKitchen 都能提供相對應的格式和尺寸。
▍IconKitchen的主要功能
● 自動生成多平台圖標:不再需要手動調整每個平台的圖標尺寸,只需一次設計,即可生成適合多種操作系統的圖標格式,包含自適應圖標和動態圖標。
● 圖標客製化:IconKitchen 提供多種圖標設計選項,使用者可以選擇不同的顏色、材質、以及預設的圖標模板,或者上傳自定義的圖片,快速生成高品質圖標。
● 簡單易用的介面:這款工具設計簡單易懂,即便你不是設計專業背景的人,也可以透過幾個簡單步驟完成圖標的設計和導出。
● 跨平台兼容性:支援iOS、Android、自適應圖標(Adaptive Icons)、網頁圖標(favicons)等多種平台,極大簡化了跨平台圖標設計的工作流程。
▍IconKitchen使用教學
使用IconKitchen 進行圖標設計的流程非常簡單。以下是使用這個工具的教學步驟:
● 訪問IconKitchen網站:首先,進入 IconKitchen 官方網站,這個工具不需要額外安裝軟體,完全在線操作。
● 選擇設計模板或上傳圖片:網站會提供多種預設的設計模板,你可以直接使用,也可以選擇上傳自己的圖片,進行個性化設計。
● 設定圖標的顏色和材質:在圖標生成過程中,你可以自訂圖標的顏色搭配和材質效果,這能讓你的圖標更具特色和品牌感。
● 導出圖標:當完成設計後,IconKitchen會自動生成適合不同平台的圖標格式。你可以下載這些圖標,直接使用於你的App或網站上。
▍icon生成 ai 的未來應用
隨著AI技術的進步,像IconKitchen這類自動化設計工具逐漸改變了設計師和開發者的工作方式。相比以往的手動調整,AI工具可以自動完成多平台圖標的調整,不僅提升了設計效率,也減少了人為錯誤的可能性。特別是在自適應圖標的處理上,IconKitchen 讓設計師不再需要煩惱複雜的技術細節,專注於圖標的創意表現。
這樣的工具未來很可能會逐漸整合更多的功能,例如圖標動畫、更多的客製化選項,甚至與其他設計軟體(如Figma、Sketch等)無縫對接,進一步簡化設計流程。
▍IconKitchen方案費用
IconKitchen 目前提供免費方案,使用者可以在不花費的情況下享受到其完整的圖標生成功能。根據其 產品頁面 的資訊,該工具目前不收取費用,這對於新創公司或小型開發團隊來說,是一個非常有吸引力的選擇。
儘管IconKitchen免費提供服務,未來可能會推出付費方案,以增加更多進階功能,例如更多的圖標模板、高級客製化選項,或是加速生成速度等服務。
總結
IconKitchen 是一款非常實用的 AI 圖標生成工具,能幫助設計師和開發者快速設計適合不同平台的高品質圖標。透過簡單易用的介面和多種客製化選項,你可以輕鬆完成圖標設計,省去繁瑣的手動調整過程。特別是對於初學者或時間有限的專業人士,IconKitchen的快速生成功能能大幅提升工作效率,幫助你專注於其他更重要的工作。
如果你正苦於多平台圖標設計的繁瑣步驟,或者希望提升你的設計效率,不妨嘗試一下IconKitchen,體驗AI帶來的設計便捷性!
➤ 立即使用:https://icon.kitchen
➤ 歡迎在104學習精靈關注【AI趨勢報-科技愛好者的產地】獲得更多科技新知!
0 0 211 0
你可能感興趣的教室