2021年10月24日 星期日

用 Python 監測光世代網路速度 (一)

月初把鄉下的光世代升速後測試網速確實有提高, 平均大約是 40M 左右 : 





這比我的 Samsung Note 8 在鄉下的網速要兩倍, 下面是今天在鄉下測試 4G 行動網路的速度 : 





雖然手機相對比較慢, 但比較穩, 我昨晚回到家下載 1GB 檔案, 早上起來發現下載網路連線中斷, 重新下載不到半小時又中斷, 改用行動網路就 OK, 三小時即下載完畢. 可見光世代雖然是固定網路並不是非常穩, 反而比行動網路空中介面還差. 

我想寫個爬蟲放在鄉下家的樹莓派 Pi 3 上, 固定從下面這個測速網站擷取網速後記錄下來, 然後每天寄一份統計圖給我, 藉以觀察鄉下家光世代的網速狀況, 查詢時間間隔 60~180 秒, 每 5 分鐘取平均網速存入檔案或資料庫 : 


觀察其網頁原始碼, 主要發出 request 的部分為 form2 這張表單 : 





<form name='form2' method='post' action='index_noflash.php'>
  <input type='hidden' name='count_time' value=2>
  <input type='hidden' name='count_sum' value=49>
  <div align="center">
    <table align="center" width='600' align="cener">
      <tr>
        <td width="50%" align="right">請選擇要測的檔案大小:</td>
        <td></td>
      </tr>
      <tr>
         <td align="right">
           <select name='size'>
             <option value='4' selected='selected'>4MB</option>
             <option value='8'> 8MB</option>
             <option value='16'>16MB</option>
             <option value='24'>24MB</option>
             <option value='32'>32MB</option>
             <option value='56'>56MB</option>
             <option value='64'>64MB</option>
             <option value='128'>128MB</option>
             <option value='256'>256MB</option>
           </select>
         </td>
         <td align="left">
            <input type="submit" name="Submit2" value=" 再次測試 ">
         </td>
       <t/r>
     </table>
   </div>
</form>

按下 "再次測試" 時會送出三個參數 : 
  • count_time
  • count_sum
  • size




資料先記錄下來, 有空再來測試看看. 

2021-10-25 補充 :

今天搜尋 PyPi 發現 speedtest-cli 這個套件 :

https://pypi.org/project/speedtest-cli/ 

看來只要用這個套件就能完成任務, 應該不需要寫爬蟲了. 另外下面這個 tespeed 也可以, 但似乎是 Python 2 的, 年代有點久遠 :

測試網速的Python工具
https://github.com/Janhouse/tespeed

2 則留言 :

OPCow 提到...

請問鄉下的定義XD

小狐狸事務所 提到...

哈哈, 鄉下是指位於高雄屏東交界荖濃溪畔的老家啦! 那裡是中華電信線路的末端 (超過三公里), 即使是光世代也只能跑到 50M.