跳到主要內容

文章

目前顯示的是 九月, 2020的文章

[Python爬蟲教學]有效利用Python網頁爬蟲幫你自動化下載圖片

Photo by Soragrit Wongsa on Unsplash 圖像辨識的技術,現在已經廣泛的應用在日常生活中,舉例來說,Google相簿就有使用圖像辨識的技術,來協助使用者標記景點或人物,或是Facebook使用圖片辨識來取出圖片中的文字,來找出違反政策的貼文,改善動態消息的內容等。而要讓機器能夠辨識出圖片中的內容,就需要有大量的圖片進行機器學習,這時候就可以利用Python網頁爬蟲的技術,蒐集網路上所需的圖片,進而輸入機器中學習。所以本文想來和讀者分享,如何利用Python網頁爬蟲來自動化下載圖片,其中的開發流程為:分析圖片來源網站爬取圖片來源網址下載圖片至資料夾中一、分析圖片來源網站本文以Unsplash圖片網站為例,其中包含許多種類的高解析度圖片,如下: 假設在搜尋的地方輸入car,就可以找到汽車相關的圖片,如下: 這時候可以觀察網址的地方,最後會加上使用者所輸入的查詢關鍵字,如下圖: 接著,來看一下每張圖片的HTML原始碼結構,如下圖: 可以看到,圖片標籤(img)的樣式類別(class)為「_2VWD4 _2zEKz」,Python網頁爬蟲就能夠依據這個樣式類別(class)來進行定位,取得圖片。二、爬取圖片來源網址瞭解所要爬取的Unsplash圖片網站結構後,本文以Visual Studio Code,開啟Python網頁爬蟲專案資料夾,在Terminal的視窗中,利用以下的指令安裝所需的套件:$ pip install requests $ pip install beautifulsoup4 $ pip install lxml其中Requests套件用來發送請求給網頁,回應的結果就是使用BeautifulSoup套件爬取內容,而lxml則是支援BeautifulSoup套件的HTML/XML解析器。安裝完成後,建立app.py檔案,並且引用以下的模組(Module):from bs4 import BeautifulSoup import requests import os範例中引用的os模組(Module),提供操作檔案及目錄的方法,可以協助建立資料夾及存放下載的圖片。為了提供一個互動的介面,讓使用者能夠輸入想要下載的圖片,可以利用Python內建的input()方法(Method),取得所輸入的文字,如下範例:from bs4 imp…

[Python爬蟲教學]7個降低Python網頁爬蟲被偵測封鎖的實用方法

Photo by Denise Jans on Unsplash 現在的網頁五花八門,其中充滿了許多有價值的資料,因此有許多的使用者都會使用Python網頁爬蟲的技術來進行取得,而這也衍生了可能因為過量的請求(Request),導致網站的伺服器過載,而產生問題。 所以,越來越多的網站開始偵測網頁爬蟲,將其封鎖,這時候,在開發Python網頁爬蟲時,該如何降低被偵測到的風險呢?

[Python爬蟲教學]整合asyncio與aiohttp打造Python非同步網頁爬蟲

Photo by Campaign Creators on Unsplash 實務上開發Python網頁爬蟲,使用一般的同步處理(Synchronous)方式爬取大量的資料時,會發現需花費蠻久的時間,這是因為同步處理(Synchronous)需等待網頁回應後,才能繼續執行下一個任務,而在等待的過程中,執行緒是完全停滯的,不會去做其它的任務,所以,為了提升執行的速度,就會使用非同步處理(Asynchronous)來進行開發。

[Python爬蟲教學]非同步網頁爬蟲使用GRequests套件提升爬取效率的實作技巧

Photo by Zan on Unsplash 網頁相信是許多人取得訊息的主要來源,為了追蹤、分析或取得想要的資訊,Python網頁爬蟲技術被廣泛的使用,而如果所要爬取的資料量非常大時,效能就會變得非常的重要,而非同步(Asynchronous)處理則是用來提升效率的常用方法。