在我的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)阻止了位置请求。例如,当我在浏览器中打开它时:
只有在单击允许(德语为 Zulassen )以获取我的计算机位置的网站后,该位置才会显示。
但是在脚本中我无法“单击此按钮”。
问题结果: 我如何允许网站通过脚本获取我的位置(漂亮的汤,要求)?
(我不介意是否有其他解决方案(没有bs4)来获取我的GPS位置)
答案 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进行进一步的网页抓取。