top of page

Python Crawling Files 
and Parsing

Publish Date

7/4/2020

This page shows the process and program structure of the project.

Project Goal.

Crawling Fund Monthly Report(PDF) From web and Parsing PDF content

Structure.

Untitled Document.jpg

readme

Python test handbook 

“抓取原始excel檔案中各基金的基金月報,並分析月報中績效的資料來源”

 

Step1.收集各基金月報網站(鉅亨網)

 

方法:使用鉅亨網搜尋基金小盒子,貼上基金名稱(c_name)收集各基金網站

執行:>>python 1FetchMF.py

Output: All.xlsx (in Folder:Fund_Monthly_Report)

(優化檢討):此方法使用中文(c_name)名稱搜尋,找出與此基金名稱最相近的解答,若能使用isin搜尋可提高準確度

Step2.進入各基金網站抓去月報至資料夾

 

方法:讀出上一個步驟的excel內容,先至各基金網站過濾isin是否正確,再抓取月報至資料夾(Fund_Monthly_Report)

執行:>>python DLReport.py

Output: PDFs (in Folder:Fund_Monthly_Report)

(優化檢討):執行此py 涉及下載檔案,需要在網速快的環境。需進一步測試並除錯,在網路出狀況時也能繼續正常執行

Step3.解析月報中的績效內容資料來源

 

方法:使用python自動開啟PDF檔案複製內容至txt檔案,解析txt檔案內容,將最接近過濾值的答案與原始excel檔案合併  

過濾條件:

找到關鍵字「資料來源」且同一行含有「Lipper」、「Morningstar」、「晨星」或「理柏」

Level1:同一行有「績效」

Level2:上下兩行有「績效」或「基金表現」

Level3:Keep住第一個抓去到的過濾值

Level4:無法解析

Level1準確度為最高—>Level3準確度低

執行:>>python3 ParseKeyWord.py

Output: Answer.xlsx、dataSource.xlsx(in Folder)

(優化檢討):找到可以直接分析PDF檔案的方法;可以進一步修改過濾條件提高準確度,目前僅一成為level1與2,大多為     level3約七成,因此抓取正確率不穩定。

整體未來改善:

1. 將3個py file做串連,可以只執行一次及得到所需答案

2. 可以使用crontab設定做定時抓取月報。ex.每個月11號

Python script

WHAT I BELIEVE

“Motivation is what gets you started. Habit is what keeps you going” 

—  Jim Rohn

© 2020 by Sara Huang. Proudly created with Wix.com

bottom of page