現時網上提拱抓取的方案,主要是安裝Extension,如Data Scraper,或Agenty 。 這些雖然功能大,但都需要付費,倒不如自己寫一個。
事前準備:
- Python
- 安裝以下package:
- 用作呼叫網絡資源
pip install requests
- 用作提取HTML Element Library
pip install beautifulsoup4
- 把提取的內容整理,以CSV輸出
pip install pandas
- 用作呼叫網絡資源
- 我這次作為了提取以下網站的生詞庫而寫的Script,它有總共17頁。
Examword ielts 4000 academic words page 1 - 再來就是Show me the code! 不想看文字的可直接看code.
Github - grasstone - Web Scraping
- 當中最重要的要點是知道你想提取的HTML Element是用什麼方式提取。以我為例,以css class來提取想要的內容(需要使用view element來看)。
soup.find_all("span", class_="listWordWord")
- 而你不是想要HTML Element,而是內容,所以就用
tag.get_text()
- 最後把data 轉做 dataframe,再把17頁dataframe,合成為一輸出為CSV。
page_df = pd.DataFrame({"word" : words, "type" : word_types, "explanation" : word_explans }) result = pd.concat(frames) result.to_csv('/Users/yourfilepath/Documents/data/ielts_words.csv')
以上內容均為原創,引用請加上連接鍵,謝謝。