kadin-1645695003110__PID:9a809d2d-f65a-4265-a3f6-cf00d292b1a3

Kadin Chung
鍾榮達

Kadin Chung 鍾榮達

June 19 2024

Python 爬蟲實戰範例使用 Selenium 抓取鉅亨網
高年化配息債券型基金

Python 爬蟲實戰範例
使用 Selenium 抓取鉅亨網高年化配息債券型基金

本文摘要自「Python 網路爬蟲大師班

目錄

  • 套件介紹
  • 第一步:檢視要抓取的資料
  • 第二部:安裝套件與驅動程式
  • 第三步:使用 Selenium 操作瀏覽器
  • 第四步:解析與擷取所需資訊
  • 第五步:儲存資料
  • 結語
  • 相關課程

本文提供給想學習 Python 爬蟲的朋友們,分享 Python 爬蟲的步驟與方法,並提供完整的程式碼,只要常透過不同主題的實戰練習,就可以駕輕就熟爬蟲技術,往後要抓取網頁資料,就能夠輕易上手

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

套件介紹

Python 網路爬蟲(web scraping)是一個非常夯的主題,而且也很容易入門,只要有一些 Python 的基礎,幾次的練習,就可以慢慢上手。在本文的主題實作中,我們會使用到 Selenium 套件,它可以直接用程式來自動操作瀏覽器,以及 BeautifulSoup 用來解析網頁內容,並擷取出所需的資料,在使用 Pandas 套件就可以將擷取出來的資料整理好並儲存至 csv 檔案當中,最後這份檔案就可以使用 Excel、Google Sheets 或是 Numbers 來開啟。

我們將打造 Python 基金爬蟲程式,使用 Selenium 套件自動操作瀏覽器,抓取鉅亨網高年化配息債券型基金,並將搜尋的結果給抓取下來儲存至檔案當中

鉅亨網債券型基金搜尋器網址:
https://fund.cnyes.com/Fixedincome/search.aspx

那我們開始吧!
本文中 Python 基金爬蟲實戰範例程式碼可以直接在 Google Drive 下載

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

第一步:檢視要抓取的資料

在抓取我們所需的內容前,要先了解資料的來源,我們將使用鉅亨網債券型基金搜尋器選擇
【1】計價幣別為【美金】,【2】基金組別為【全球市場高收益債】,【3】年化配息率為【7%至10%以上】,【4】配息頻率【月】並且按【搜尋】,取得結果後,在使用【5】【三年】的績效來做排序,最後在表格中【晨星評級超過三顆星】的就會是我們要的結果。

02-1280x720__PID:a3f6cf00-d292-41a3-9cc2-19ad95ef7f39

這操作的流程目前是使用手動的方式來操作,待會我們就會使用程式來自動模仿這流程。

第二部:安裝套件與驅動程式

環境可以使用 Jupyter Notebook 或是自己習慣的文字編輯器,要先安裝以下所需的套件。


pip install selenium
pip install bs4
pip install lxml
pip install pandas

另外 Selenium 需要瀏覽器的驅動程式才可以正常運作,而我們將以 Google Chrome 作為範例,首先要知道目前電腦的 Google Chrome 版本,點選瀏覽器右上角【三個點的圖示選擇】,再點【設定】,或是直接前往連結 ,就可以看到目前的版本,就以我目前的電腦是使用 Windows 作業系統,Google Chrome 瀏覽器版本為 90。

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

05-1280x651__PID:36d6e626-fb35-433b-bbc7-079aec5cd714

知道 Google Chrome 版本後,就可以前往 ChromeDriver – WebDriver for Chrome 根據自己電腦的作業系統和版本來下載驅動程式,並解壓縮。

第三步:使用 Selenium 操作瀏覽器

先 import 全部所需的套件,定義 url 為鉅亨網債券型基金搜尋器網址,在建立 Chrome driver 物件,executable_path 要丟入剛剛下載的 chromedriver 位置,而【./】代表當前路徑,在這是將 chromedriver 放到與 Jupyter Notebook 相同的路徑,最後在使用 driver.get(url) 讓瀏覽器前往 url 網址,執行之後,會看到程式自動開啟一個瀏覽器,並前往鉅亨網債券型基金搜尋器的網頁


import time
from datetime import datetime
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
 
url = 'https://fund.cnyes.com/Fixedincome/search.aspx'
 
driver = webdriver.Chrome(executable_path='./chromedriver')
driver.get(url=url)

接著透過 find_element_by_xpath來取得元素的位置【以計價幣別為例】,並使用 click() 來點擊,XPath 為 XML Path Language,是一種用來尋找文件中某個節點位置的查詢語言


# 計價幣別
driver.find_element_by_xpath('//*[@id="ctl00_ContentPlaceHolder1_DD_classCurrent"]').click()
driver.find_element_by_xpath('//*[@id="ctl00_ContentPlaceHolder1_DD_classCurrent"]/option[7]').click()

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

欲要取得網頁元素【以計價幣別為例】的 XPath 可以直接在下拉式選單中,【1】按右鍵 > 檢查,就會開啟 Chrome 開發人員工具,並在【2】元素程式碼上按右鍵選擇 【3】Copy >【4】 Copy XPath 來取得

07__PID:3090bf4f-8f11-4eb6-b524-43a35ba52d56

理解原理後,就能夠使用相同的邏輯,透過之前流程來操作,選擇計價幣別為【美金】,基金組別為【全球市場高收益債】,年化配息率為【7%至10%以上】,配息頻率【月】並且按【搜尋】,取得結果後,在使用【三年】的績效來做排序,在途中加上 time.sleep(5) 來等待5秒,等搜尋的結果出現後再繼續執行


# 投資區域(全球市場)
driver.find_element_by_xpath('//*[@id="ctl00_ContentPlaceHolder1_DropDownList1"]').click()
driver.find_element_by_xpath('//*[@id="ctl00_ContentPlaceHolder1_DropDownList1"]/option[8]').click()
 
# 基金組別(高收益債)
driver.find_element_by_xpath('//*[@id="ctl00_ContentPlaceHolder1_DropDownList2"]').click()
driver.find_element_by_xpath('//*[@id="ctl00_ContentPlaceHolder1_DropDownList2"]/option[7]').click()
 
# 年化配息率(7%)
driver.find_element_by_xpath('//*[@id="aspnetForm"]/div[4]/div[1]/select[1]').click()
driver.find_element_by_xpath('//*[@id="aspnetForm"]/div[4]/div[1]/select[1]/option[9]').click()
 
# 至(10%以上)
driver.find_element_by_xpath('//*[@id="aspnetForm"]/div[4]/div[1]/select[2]').click()
driver.find_element_by_xpath('//*[@id="aspnetForm"]/div[4]/div[1]/select[2]/option[4]').click()
 
# 配息頻率
driver.find_element_by_xpath('//*[@id="div_type"]').click()
driver.find_element_by_xpath('//*[@id="div_type"]/option[4]').click()
 
# 搜尋
driver.find_element_by_xpath('//*[@id="aspnetForm"]/div[4]/div[3]/button').click()
 
time.sleep(5)
 
# 三年績效排序
driver.find_element_by_xpath('/html/body/div[2]/section[3]/div/div[4]/table[2]/thead/tr/th[3]/select').click()
driver.find_element_by_xpath('/html/body/div[2]/section[3]/div/div[4]/table[2]/thead/tr/th[3]/select/option[6]').click()
 
time.sleep(5)
 
html_source = driver.page_source
 
driver.close()
 
soup = BeautifulSoup(html_source, 'lxml')

執行完成後,就可以透過 driver.page_source 來取的當前網頁的 HTML 原始碼,並處存至 html_source 變數中,這時就可以透過 driver.close() 來關掉瀏覽器,最後在建立 BeautifulSoup 物件,而官方建議使用 lxml 的解析方法,因為速度快,相容性也較佳。

下個步驟,我們就能解析網頁的內容並擷取我們所需的資料

第四步:解析與擷取所需資訊

先建立一個字典,用來暫存基金的資料,在使用 soup.select_one(‘tbody’).select(‘tr’) 取出網頁原始碼中第一個 tbody 標籤裡所有 tr 標籤,然後跑 for 迴圈,也就是基金表格中每筆基金資料,在各別從中取出基金名稱、淨值、三年績效、配息日、配息金額、年化配息率以及晨星評級,另外多加一個判斷式,過濾掉所有晨星評級3星以下的基金


fund_dict = {
    '基金名稱': [],
    '淨值': [],
    '三年績效': [],
    '配息日': [],
    '配息金額': [],
    '年化配息率': [],
    '晨星評級': [],
    '連結': []
}
 
for tr in soup.select_one('tbody').select('tr'):
     
    morning_star = len(tr.select('td')[5].select('li.on'))
     
    if morning_star >= 3:    
         
        fund_dict['基金名稱'].append(tr.select('td')[0].text.strip())
        fund_dict['淨值'].append(tr.select('td')[1].text.strip().split('\n')[0])
        fund_dict['三年績效'].append(tr.select('td')[2].text.strip())
        fund_dict['配息日'].append(tr.select('td')[3].text.strip().split('\n')[-1].strip())
        fund_dict['配息金額'].append(tr.select('td')[4].text.strip().split('\n')[0].strip())
        fund_dict['年化配息率'].append(tr.select('td')[4].text.strip().split('\n')[-1].strip())
        fund_dict['晨星評級'].append(morning_star)
        fund_dict['連結'].append('https://fund.cnyes.com' + tr.select('td')[0].a['href'].strip().replace(' ', ' '))
     
fund_dict

跑完 for 迴圈後,最後 fund_dict 字典中的資料將會如下


{
'基金名稱': ['NN (L) 環球高收益基金X股對沖級別美元(月配息) (美元|月配)',
'NN (L) 環球高收益基金X股美元(月配息) (美元|月配)',
'法巴全球高收益債券基金/月配(美元)避險 (美元|月配)'],
'淨值': ['186.4600', '71.7300', '75.9900'],
'三年績效': ['+17.14%', '+16.85%', '+16.19%'],
'配息日': ['2021/06/02', '2021/06/02', '2021/06/01'],
'配息金額': ['1.4200', '0.5500', '0.5600'],
'年化配息率': ['9.12%', '9.16%', '8.83%'],
'晨星評級': [3, 3, 3],
'連結': ['https://fund.cnyes.com/detail/NN (L) 環球高收益基金X股對沖級別美元(月配息)/B33,173/report',
'https://fund.cnyes.com/detail/NN (L) 環球高收益基金X股美元(月配息)/B33,081/report',
'https://fund.cnyes.com/detail/法巴全球高收益債券基金/月配(美元)避險/B06,298/report']
}

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

第五步:儲存資料

接著要將擷取的資料,儲存至 csv 檔案中,直接透過字典來建立一個 DataFrame,並將【基金名稱】設定為 index,其中 inplace=True 代表不建立新的 DataFrame 物件,直接對本身 DataFrame 物件進行修改


df = pd.DataFrame(fund_dict)
df.set_index('基金名稱', inplace=True)
df

執行後,可以整理出以下表格

12__PID:26855b73-019a-4393-bca4-35deb0868a1d

最後在使用 DataFrame 的 to_csv 方法,並丟入要建立的檔案名稱,就可以直接將整理好的 DataFrame 表個寫入 csv 檔案中 (新建立的檔案會在 Jupyter Notebook 相同的路經中找到),而為了避免儲存之後中文出現亂碼需加上帶入 encoding=’utf_8_sig’


date = datetime.today().strftime("%Y%m%d")
file_name = '{}_全球高收益債基金.csv'.format(date)
df.to_csv(file_name, encoding='utf_8_sig')

執行上方程式碼之後,就可以在 Jupyter Notebook 相同路徑中看到 csv 檔案,內容就是在鉅亨網中前幾名的高年化配息債券型基金資料

13__PID:b0868a1d-a1d5-42f6-a2cf-2f81544b4582

以上就是使用 Selenium 抓取鉅亨網高年化配息債券型基金的 Python 基金爬蟲實作範例;以下可以看到完整的程式碼,也可以直接下載 Jupyter Notebook 基金爬蟲程式碼檔案

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

結語

現今已經有很多的工具與套件(像是本文中提到的 Selenium、BeautifulSoup 與 Pandas)能夠快速的開發適合自己需求的網路爬蟲工具,而 Python 非常最適合寫爬蟲,程式看起來很清楚、優雅、可以快速入門,而且只需要有些 Python 程式語言的基礎,透過實作範例練習,就能夠開發出網路爬蟲工具。

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

正在尋找網路爬蟲線上課程?

如果你在找一個有系統教學的網路爬蟲課程,我們有開一系列完整的 Python 網路爬蟲課程,從 Python 程式語言入門開始到網路爬蟲套件教學,最後以股票數據、 金融資訊和財經新聞為主題做實務範例練習,教你如何在這資訊爆炸的時代中,有效率的抓取、整理和分析所需要的資料

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

Python 金融程式設計大師系列(Kadin Chung)
Python 金融程式設計大師系列(Kadin Chung)

Python 金融程式設計大師系列(Kadin Chung)

系列課程 62 折優惠中

$9,900
$16,000
Python 股票程式交易大師班(2024 年 1 月更新)
Python 股票程式交易大師班(2024 年 1 月更新)
Python 股票程式交易大師班 - MasterTalks 內容電力公司
Python 股票程式交易大師班(2024 年 1 月更新)
Python 股票程式交易大師班(2024 年 1 月更新)
Python 股票程式交易大師班(2024 年 1 月更新)
Python 股票程式交易大師班 - MasterTalks 內容電力公司
Python 股票程式交易大師班(2024 年 1 月更新)

Python 股票程式交易大師班(2024 年 1 月更新)

$4,200
查看更多資訊
Python 金融資訊爬蟲大師班 - MasterTalks 內容電力公司
Python 金融資訊爬蟲大師班(2024年6月內容更新)
Python 金融資訊爬蟲大師班 - MasterTalks 內容電力公司
Python 金融資訊爬蟲大師班(2024年6月內容更新)

Python 金融資訊爬蟲大師班(2024年6月內容更新)

$3,950
查看更多資訊
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班

Python AI 金融程式設計大師班

$3,680
查看更多資訊

Kadin Chung 鍾榮達

介紹
  • 目前在公司負責系統分析與程式設計,同時也在做線上課程講師。 碩士畢業之後在外商系統整合服務公司上班多年,到自己設立軟體公司,第一個合作售出的系統是一套網路管理系統,可以幫助客戶配置,維護和測試數千台思科網路設備。 除此之外,Kadin在大型項目方面經驗豐富,例如馬拉松線上報名系統,車行租賃管理系統等。 在Kadin創業的過程中不斷地促使自己學習新的技能,並且知道什麼是「學習新技能」最有效的方法,他樂於分享一切所學的知識和實務經驗,也因為這份樂情,帶領 Kadin 來到 MasterTalks ,他將會透過高品質且有效率的方式分享他所學的一切技術和知識!

綁定LINE好友再享3000點知識點數