抓取网站以获取GPS位置| Python

时间:2020-08-11 14:26:44

标签: python python-3.x beautifulsoup gps python-requests-html

在我的python项目中,我想获取我的gps位置。 因此,我考虑过分析一个可以提供以下信息的网站: https://www.where-am-i.net/很完美! 所以我写了以下脚本来解析经度:

from bs4 import BeautifulSoup
import requests

#website = "https://schlechtewitze.com/kurze-witze"
website = "https://www.where-am-i.net/"

source = requests.get(website).text
soup = BeautifulSoup(source, 'lxml')

for div in soup.find_all('div', class_ = "location"):
    summary = div.p.text
    print(summary)
    print()

几乎可以使用,但是几乎可以使用:它返回:我的位置是:0.0、0.0 如您所见,它返回的不是真实位置,因为我的计算机(Windows 10)阻止了位置请求。例如,当我在浏览器中打开它时: Asking for permission for getting the location (Sorry for the german)

只有在单击允许(德语为 Zulassen )以获取我的计算机位置的网站后,该位置才会显示。

但是在脚本中我无法“单击此按钮”。

问题结果: 我如何允许网站通过脚本获取我的位置(漂亮的汤,要求)?

(我不介意是否有其他解决方案(没有bs4)来获取我的GPS位置)

2 个答案:

答案 0 :(得分:0)

您可以改用 geocoder

简单地做

import geocoder
g = geocoder.ip('me')
print(g.latlng)

答案 1 :(得分:0)

正如MukundKulkarni所提到的,该教程使用Selenium解析网站: How I Understood: Getting accurate current geolocation using Python Web-scraping and Selenium

显然,他们不必先允许位置跟踪。我将使用Selenium进行进一步的网页抓取。