Data Crawler

在資料探勘中有一個概念是:Data Driven,意即從資料的角度出發,觀察存在這些資料中問題或規則。因此我們常常說資料是新一代工業革命中的寶藏,一個好的探勘,來自於一份具有潛力的資料,而這也是目前很多人遇到的問題:資料怎麼來,資料從哪裡來?

這次使用 Selenium 實作 Data Crawler,Selenium 主要是拿來模擬瀏覽器行為的工具,而我們也利用的功能,模擬使用者瀏覽資料的過程取得資料,進一步利用 beautifulsoup 將原始資料進行爬梳。

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from selenium import webdriver
from selenium.webdriver.support.ui import Select

# 開啟網頁
browser.get("https://taqm.epa.gov.tw/taqm/tw/MonthlyAverage.aspx")

# 模擬行為
selectSite = Select(browser.find_element_by_id("ctl15_ddlSite"))
selectSite.select_by_value(cite)
selectYear = Select(browser.find_element_by_id("ctl15_ddlYear"))
selectYear.select_by_value(str(year))
browser.find_element_by_id('ctl15_btnQuery').click()

# 取得資料
html_source = browser.page_source

# 關閉瀏覽器
browser.quit();
1
2
3
4
5
from bs4 import BeautifulSoup

# 取得資料進行整理
soup = BeautifulSoup(html_source, 'html.parser')
city = soup.find(id="ctl15_ddlSite").find_all('option', selected=True)[0].

Reference

[1] Selenium - Web Browser Automation
[2] selenium-crawler
[2] 斧頭幫大挑戰



嗨,你好,我是維元,持續在不同的平台發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤我的 Facebook 粉專:資料科學家的工作日常 ,也會不定時的舉辦分享活動,一起來玩玩吧 ヽ(●´∀`●)ノ

目前我們也在規劃新的爬蟲課程【市面上沒有教的進階爬蟲核心技】,這是目前市面上少有進階爬蟲課程,試圖將多年的經驗聚焦成一套完整的核心技能。內容包含四大爬蟲核心技,包含 #反爬蟲處理手法、#執行爬蟲加速策略、#爬蟲管理框架、#分散式爬蟲。這堂市面上少見的「進階爬蟲技法」課程,將完整交給你四種進階爬蟲技術,幫助你橫向覆蓋多項進階技法,縱向提升爬蟲實戰能力,克服那些初階爬蟲技術無法解決的問題!一起加入課程,掌握進階爬蟲開發者必備的核心技能 🚀🚀🚀



📍 我有興趣想了解課程內容: https://pse.is/3pmrqf
📍 我有興趣想了解課程內容: https://pse.is/3pmrqf
📍 我有興趣想了解課程內容: https://pse.is/3pmrqf


License


本著作由 Chang, Wei-Yaun (v123582) 製作,
創用CC 姓名標示-相同方式分享 3.0 Unported授權條款釋出。