我想从我的 Linux 设备发送当前 Lat Long 的电子邮件。我在 HTML5 浏览器中尝试了地理位置,效果很好。但我希望它在命令行上。我尝试了很多选项,例如 curl、geoip 通过 IP 到某些网站,但它们都显示了我的 ISP 的位置,而不是我的。我更喜欢在命令行或 python 等工具上使用它。
我可以成功编写一个 python 程序,它打开一个本地保存的 HTML5 地理定位代码页面,并显示准确的经纬度。然后python自动从浏览器中获取lat long并在终端上显示。文件:test.py
from splinter.browser import Browser
import os.path
import time
browser = Browser()
browser.visit('file://' + os.path.realpath('geo.html'))
time.sleep(5)
elements = browser.find_by_css("#demo")
div = elements[0]
print div.value
browser.quit()
Run Code Online (Sandbox Code Playgroud)
文件:geo.html
<html>
<head>
<title>Test</title>
<p id="demo"></p>
<script type="text/javascript">
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function …
Run Code Online (Sandbox Code Playgroud)