[英]Trying to get latitude and longitude data from button
我正在嘗試從此結果頁面上的“顯示地圖”按鈕抓取緯度和經度數據: https : //www.psychologytoday.com/us/therapists/60148/374863?sid=5d01e84909804&ref=2&tr=ResultsName
到目前為止,這是我嘗試過的=
button = soup.find('button', {"data-event-label":'Address_MapButton'})
print(button['data-map-lat'])
完整代碼:從bs4導入請求從bs4.element import標簽導入BeautifulSoup
zipcode = int(input("Zipcode: "))
url = 'https://www.psychologytoday.com/us/therapists/{0}'.format(zipcode)
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')
result = soup.find(class_='results-column')
addressArray = []
for tag in result:
if isinstance(tag,Tag):
_class = tag.get("class")
if _class is None or _class is not None and "row" not in _class:
continue
link = (tag.find(class_='result-actions')).find('a',href=True)
_href = link['href']
address_link = requests.get(_href, headers=headers)
soup1 = BeautifulSoup(address_link.text, 'html.parser')
address = (soup1.find(class_='address')).find(class_="location-address-phone")
button = soup.find('button', {"data-event-label":'Address_MapButton'})
print(button['data-map-lat'])
print(addressArray)
我得到無回報。 我想查看緯度坐標。
您要提取適當的屬性。 我使用btn-location
類的第一個匹配項來獲取元素的住房屬性。
import requests
from bs4 import BeautifulSoup as bs
r = requests.get('https://www.psychologytoday.com/us/therapists/60148/374863?sid=5d01e84909804&ref=2&tr=ResultsName', headers = {'User-Agent': 'Mozilla/5.0'})
soup = bs(r.content, 'lxml')
elem = soup.select_one('.btn-location[data-map-lat]')
lat = elem['data-map-lat']
lon = elem['data-map-lon']
print(lat, lon)
OP的版本:
soup2 = bs(address_link.content, 'lxml')
elem = soup2.select_one('.btn-location[data-map-lat]')
lat = elem['data-map-lat']
lon = elem['data-map-lon']
latArray.append(lat)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.