跳到主要內容

文章

目前顯示的是 二月, 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

[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 專案的資料

[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內容"