上網不再需要瀏覽器
上網不再需要瀏覽器
大綱
webbrower 模組
webbrower 模組是 Python 標準函式庫 (Standard Library) 提供了一個高級接口,允許向用戶顯示基於Web的文檔。在大多數情況下,只需從該模塊調用 open() 函數就可以了。使用方式如下:
import webbrower
範例 pythonWebCrawler-01.py : 利用 webbrower 模組,開啟 Yahoo奇摩股市 網站 https://tw.finance.yahoo.com/
# pythonWebCrawler-01.py
import webbrowser
webbrowser.open('https://tw.finance.yahoo.com/')
執行結果
認識 Google Map
當我們使用 Google Map 輸入地名搜尋 "總統府",其網址如下,將之分為三段:
- https://www.google.com.tw/maps/search/總統府/
- @25.0399465,121.5101456,17z/
- data=!3m1!4b1
- https://www.google.com.tw/maps/place/10491台北市中山區中山北路三段181號/
- @25.0725778,121.5226581,17z/
- data=!3m1!4b1!4m5!3m4!1s0x3442a94e08833657:0x23676b93fd3ba327!8m2!3d25.0725778!4d121.5248468
- 區塊1 : https://www.google.com.tw/maps/place 或是 search/ + 後面加上地名或地址。
- 區塊2 : 為經緯度。
- 區塊3 : 是Google 追蹤紀錄瀏覽者的一些資訊。
用地址或地名查詢地圖的程式範例
經過測試以後,我們發現區塊1 : https://www.google.com.tw/maps/search/ + 後面加上地名或地址,都能準確地顯示出地圖。
範例 pythonWebCrawler-02.py : 用地址或地名查詢地圖的程式。
# pythonWebCrawler-02.py
import webbrowser
addressPlace = input("請輸入地址 或地名 : ")
webbrowser.open('http://www.google.com.tw/maps/search/' + addressPlace)
執行結果
請輸入地址 或地名 : 陽明山國家公園
由經緯度算出兩地之間的距離
計算經緯度之間的距離方法如下:
計算地球上經緯度之間的距離 d,已知地球上兩點的 (經度,緯度) : (X1,Y1), (X2,Y2) ,其中 X1,X2 為經度, Y1、Y2 為緯度。地球半徑為 R=6371 km,則兩點距離 d :
d = R * arcos[ cos(Y1)*cos(Y2)*cos(X1-X2)+sin(Y1)*sin(Y2) ]
由於 Python 的三角函數皆是弧度(radians) ,因此我們需要 math.radian() 函數將角度轉為弧度。
經度座標介於 -180 ~ 180 之間,緯度座標介於 -90 ~ 90 之間,座標標示方式為小括號 (緯度,經度)。例如 陽明山國家公園 座標即為 : (25.1817878,121.5486188)
範例 pythonWebCrawler-03.py : 計算台北車站到陽明山國家公園的距離
# pythonWebCrawler-03.py
import math
r = 6371 # 地球半徑
x1, y1 = 25.1817, 121.5486 # 陽明山國家公園經緯度
x2, y2 = 25.0452, 121.5168 # 台北車站經緯度
d = 6371*math.acos(math.sin(math.radians(x1))*math.sin(math.radians(x2))+
math.cos(math.radians(x1))*math.cos(math.radians(x2))*
math.cos(math.radians(y1-y2)))
print("台北車站到陽明山國家公園的距離 = ", d)
執行結果
台北車站到陽明山國家公園的距離 = 15.51212635800623
參考資料
特色、摘要,Feature、Summary:
關鍵字、標籤,Keyword、Tag:
- Web-Crawler,Data-Mining,Data-Science,


留言
張貼留言
Aron阿龍,謝謝您的留言互動!