小编Tar*_*hah的帖子

我想在命令行上获得我的 linux 设备的准确纬度经度。就像 HTML5 中的地理定位一样。我无权访问浏览器

我想从我的 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)

html javascript python linux geolocation

5
推荐指数
1
解决办法
1741
查看次数

标签 统计

geolocation ×1

html ×1

javascript ×1

linux ×1

python ×1