Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-BeautifulSoup:从网站上获取地理坐标(Lat和Lon)作为列表_Python_Beautifulsoup_Maps_Bing Maps - Fatal编程技术网

Python-BeautifulSoup:从网站上获取地理坐标(Lat和Lon)作为列表

Python-BeautifulSoup:从网站上获取地理坐标(Lat和Lon)作为列表,python,beautifulsoup,maps,bing-maps,Python,Beautifulsoup,Maps,Bing Maps,我试图提取由房地产信息(待售房屋)组成的特定区域的地理坐标。这些由点表示。我想得到这些点的坐标。我一直在使用下面的代码 import requests from bs4 import BeautifulSoup url = 'http://www.zillow.com/richardson-tx/' response = requests.get(url) print(response.status_code) print(response.content) soup = BeautifulSo

我试图提取由房地产信息(待售房屋)组成的特定区域的地理坐标。这些由点表示。我想得到这些点的坐标。我一直在使用下面的代码

import requests
from bs4 import BeautifulSoup
url = 'http://www.zillow.com/richardson-tx/'
response = requests.get(url)
print(response.status_code)
print(response.content)
soup = BeautifulSoup(response.content)
print (soup.prettify())
print(soup.find_all('data-latitude'))
请任何人帮我提供正确的方法来提取坐标值。它们被称为itemprop=geo的s

例如,当我们在Chrome的zillow上搜索Richardson中的属性时。我们打开开发工具(F12),我试着在控制台中键入以下内容,以便找到:

var jq = document.createElement('script'); 
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"; 
   document.getElementsByTagName('head')[0].appendChild(jq);
按Enter键,然后我尝试如下操作:

 jQuery('span[itemprop=geo]')

您的jquery看起来是正确的,只是没有正确地将其转换为BeautifulSoup

coord_tags = soup.find_all("span", attrs={"itemprop":"geo"})
# <span itemprop="geo" itemscope="" itemtype="http://schema.org/GeoCoordinates">
#        <meta content="32.978499" itemprop="latitude"/>
#        <meta content="-96.728306" itemprop="longitude"/>
# </span>

注释中的元组是此列表理解创建的列表中的一个项的示例。

您的jquery看起来是正确的,只是没有正确地将其转换为BeautifulSoup

coord_tags = soup.find_all("span", attrs={"itemprop":"geo"})
# <span itemprop="geo" itemscope="" itemtype="http://schema.org/GeoCoordinates">
#        <meta content="32.978499" itemprop="latitude"/>
#        <meta content="-96.728306" itemprop="longitude"/>
# </span>

注释中的元组是通过此列表理解创建的列表中的一个项目的示例。

我编写的jquery输入到chrome的开发控制台中。我应该在Python中也包含jquery吗?不!你的Python很好。我想说您的JQuery选择是正确的,您只需要在BeautifulSoup中执行相同的操作。如果你把这段代码附加到你的末尾,它应该可以工作。当然,我会在我的.py文件中添加你的代码,并检查结果。我只得到26分。但我提到的地图上大约有159个点。你在页面上看到的和你通过
请求打电话时看到的并不总是一致的。也可能是有多个元素持有坐标。如果您找到了所有这些元素,您可以使用这个答案来提取坐标。我应该在Python中也包含jquery吗?不!你的Python很好。我想说您的JQuery选择是正确的,您只需要在BeautifulSoup中执行相同的操作。如果你把这段代码附加到你的末尾,它应该可以工作。当然,我会在我的.py文件中添加你的代码,并检查结果。我只得到26分。但我提到的地图上大约有159个点。你在页面上看到的和你通过
请求打电话时看到的并不总是一致的。也可能是有多个元素持有坐标。如果你找到了所有这些元素,你可以用这个答案来提取坐标。