Python Practice # 1 開啟指定網頁搜尋三大電信商通訊覆蓋率
是的沒有看錯這是一篇關於Python的練習,主要的原因是因為side project已經完成的差不多準備送審,但是side project的資料需要自己手動建立,所以就需要仰賴Python的協助。簡單來說也算是一種爬蟲的練習,但我不用將資料存取下來,因為特殊的關係只要自己能看到就好,所以這篇將練習透過Python與selenium開啟台灣三大電信商的網頁並輸入指定的地點進行搜尋並確認通訊覆蓋率。
安裝Chrome與ChromeDriver與selenium
網路上有提到其實也可以透過Safari來完成,但基於方便性所以我先使用Chrome來爬,雖然我平常還是使用Safari比較多。
若是Chrome安裝好,先檢查Chrome的版本,點擊右上角的三個點點>設定>關於Chrome即可看到目前安裝的Chrome版本。
確認好版本後到下面的網址找到自己Chrome版本的Chromedriver,下載後開將chromedriver放在準備建立檔案的同樣資料夾內。
而selenium則透過Terminal安裝即可指令如下
pip3 install selenium
接著前置作業算是完成了一半了。
尋找網頁元件
要搜尋最重要的就是要找到搜尋列,而網頁則可以透過開發者選項取得元件的相關資料,以中華電訊訊號覆蓋率查詢為例,先透過Chrome前往下列的網頁
https://coverage.cht.com.tw/coverage/tw.html
接著按下fn+F12進入開發者人員選項後點擊下圖的箭頭
接著將游標移至搜尋框(請輸入路段地址或關鍵字),右側就會移動到你指定的地方,這時就可以看到搜尋欄的相關資訊了。
這裡就可以記住class或是相關資訊,selenium提供多種方式可以讓我們找到搜尋欄(下圖與網址連結)
前置作業完成後就可以來實作程式碼了。接著是開啟一個Python專案,我是用Python內建的IDE開啟
看看測試結果如何
可以看到三大電信商的覆蓋率網站都可以搜尋到我設定的淡水捷運站的訊號位置,這對於我的side project搜尋一些資料時已經有相當大的幫助了。接著就可以開始建立自己的Swift side project的資料了。持續加油!!!