跳到主要內容

文章

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

[Python爬蟲教學]7個Python使用BeautifulSoup開發網頁爬蟲的實用技巧

Photo by Stanley Dai on Unsplash 在實務上開發專案時,很多時候會利用其他網站的資料來進行分析或運用,而取得的方式除了透過網站所提供的API(Application Programming Interface)外,也可以利用Python來開發爬蟲程式,將網頁的HTML內容下載下來,接著利用BeautifulSoup套件(Package),擷取所需的資訊。

本文將開發一個簡單的爬蟲程式,爬取「ETtoday旅遊雲」網頁,擷取桃園旅遊景點的標題資訊,如下圖: 取自ETtoday的旅遊雲 而在開發的過程中,常會需要搜尋HTML的節點,本文將分享幾個常用的方法,包含: BeautifulSoup安裝以HTML標籤及屬性搜尋節點以CSS屬性搜尋節點搜尋父節點搜尋前、後節點取得屬性值取得連結文字一、BeautifulSoup安裝BeautifulSoup是一個用來解析HTML結構的Python套件(Package),將取回的網頁HTML結構,透過其提供的方法(Method),能夠輕鬆的搜尋及擷取網頁上所需的資料,因此廣泛的應用在網頁爬蟲的開發上。

Beautifulsoup套件(Package)可以透過pip指令來進行安裝,如下範例: pip install beautifulsoup4而要解析網頁的HTML程式碼前,還需要安裝Python的requests套件(Package),將要爬取的網頁HTML程式碼取回來,安裝方式如下: pip install requests安裝完成後,首先引用requests套件(Package),並且透過get()方法(Method)存取ETtoday旅遊雲的桃園景點網址,如下範例: import requests response = requests.get( "https://travel.ettoday.net/category/%E6%A1%83%E5%9C%92/")將網頁的HTML程式碼取回來後,接著引用BeautifulSoup類別(Class),傳入取回的HTML結構字串,並且指定HTML的解析型態來建立其物件,如下範例: import requests from bs4 import BeautifulSoup response = requests.get( "…

[Python實戰應用]淺談Python Selenium網站自動化套件

Photo by Austin Distel on Unsplash 隨著網站開發的規模及數量越來越多,以人工的方式來測試網站的功能非常的耗時且沒有效率,一定都想要透過撰寫腳本的方式來自動化測試網站上的各個功能是否正常執行,而Python專案中的Selenium套件(Package),即可讓網站自動化執行且能夠撰寫Python腳本來進行測試,解決上述的問題。

本文將利用Selenium套件(Package),自動化登入Facebook網站,並且滾動捲軸瀏覽貼文,透過基本的實作,來說明Selenium套件(Package)的重要概念及使用方式,包含: Selenium是什麼Selenium WebDriver安裝Selenium啟動瀏覽器Selenium尋找網站元素Selenium填寫資料Selenium點擊按鈕Selenium執行JavaScript一、Selenium是什麼Selenium是一個瀏覽器自動化的套件(Package),可以利用Python撰寫自動化的腳本來執行各種的網站,包含開啟瀏覽器、填寫表單、點擊按鈕及取得網站內容等,多數用來執行網站功能的自動化測試,簡化繁瑣及耗時的網站測試工作,是Python自動化應用非常重要的套件(Package)。

建立PySeleniumPost專案,接著透過 pipenv install selenium 指令來為專案建立一個虛擬環境,並且安裝selenium套件(Package),最後,利用 pipenv shell 進入虛擬環境。
二、Selenium WebDriver安裝 而要啟動特定的瀏覽器,需要手動安裝相應的WebDriver。本文將以Chrome瀏覽器來作為教學範例。

首先,前往Python套件庫PyPI,搜尋selenium,進入套件說明畫面後,在下面Drivers的地方,列出了常用的瀏覽器Drivers,如下圖: 點擊Chrome的下載連結後,選擇要執行的Chrome版本,如下圖: 接著,依據作業系統下載安裝檔,如下圖: 解壓縮檔後,將其中的執行檔複製到PySeleniumPost專案的資料夾中即可,無需執行它。 三、Selenium啟動瀏覽器回到PySeleniumPost專案,引用selenium套件(Package)中的webdriver模組(Module),其中包含了常用的瀏覽器類別(Class),而要自動啟動

[Python實戰應用]掌握Python連結MySQL資料庫的重要操作

Photo by Glenn Carstens-Peters on Unsplash 在現今很多的Python應用當中,像是開發爬蟲獲取網頁資料,或透過API取得所需的資訊等,都有機會將這些有效的資料存進資料庫中,透過其強大的查詢語法篩選、分析及過濾資料,甚至可以直接匯出Excel報表等,資料庫扮演了非常重要的角色。

所以本文將延續瞭解Python存取API的重要觀念-以KKBOX Open API為例文章,模擬實務上呼叫KKBOX Open API取得資料後,如何透過Python存進MySQL資料庫中,並且執行資料的新增、查詢、修改及刪除操作,利用實作來瞭解Python存取資料庫的重要概念,重點包含: Python專案前置作業安裝MySQL資料庫建立MySQL資料庫建立MySQL資料表新增資料表資料查詢資料表資料修改資料表資料刪除資料表資料一、Python專案前置作業在開始今天的實作前,將Python專案中的charts.py簡化為以下範例: import requests # 取得Token def get_access_token(): #API網址 url = "https://account.kkbox.com/oauth2/token" #標頭 headers = { "Content-Type": "application/x-www-form-urlencoded", "Host": "account.kkbox.com" } #參數 data = { "grant_type": "client_credentials", "client_id": "貼上ID內容", "client_secret": "貼上Secret內容" } access_token = requests.post(url, headers=headers, data=data) …