无法获取所有的名称,在地图上揭示一些点

2024-09-29 06:28:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经用python编写了一个脚本来解析在点击地图上所有可用的点时填充的每个框的内容。我只想取不同房产的名字

mapLink

那边大约有6566个点。我从chrome开发工具中找到了一个包含69个名字的链接

我目前的尝试:

import requests

URL = 'https://map.search.ch/api/poi_html.json?mode=hover&mx1=750592&mx2=789504&my1=193536&my2=232448&zd=256&d=area-f008d02987f8c91d&lang=en&base=485000,296000&tel_was=immobilienmakler&tel_wo=nahe+Bezirk+Lenzburg'

res = requests.get(URL).json()
for item in res['pois']:
    print(item['name'])

How can I get all the names unraveling those dots?


Tags: import脚本jsonurl内容get链接地图
1条回答
网友
1楼 · 发布于 2024-09-29 06:28:44

这与查询参数有关。你要么a)四处玩玩,看看每个人是如何改变你的输出的,要么b)搜索他们的文档,找出哪里有这些信息。但通过创建字典并将其输入到请求中,您可以轻松地使用这些参数:

import requests

url = 'https://map.search.ch/api/poi_html.json'

payload = {
'mode': 'hover',
'mx1': '750592',
'mx2': '789504',
'my1': '193536',
'my2': '232448',
'zd': '256',
'd': 'area-f008d02987f8c91d',
'lang': 'en',
'base': '485000,296000',
'tel_was': 'immobilienmakler',
'tel_wo': 'nahe Bezirk Lenzburg'}


res = requests.get(URL, params=payload).json()

给了我70个元素

我的假设:

我的假设是:

使用瑞士坐标系 mx1和mx2-窗口x轴的范围 my1和my2-窗口y轴的范围

更改这些数字可以“移动”地图区域,然后“放大”或“缩小”

即:

url = 'https://map.search.ch/api/poi_html.json'

payload = {
'mode': 'hover',
'mx1': '649216',
'mx2': '858112',
'my1': '124928',
'my2': '568288',
'zd': '512',
'd': 'area-f008d02987f8c91d',
'lang': 'en',
'base': '485000,296000',
'tel_was': 'immobilienmakler',
'tel_wo': 'nahe Bezirk Lenzburg'}


res = requests.get(URL, params=payload).json()

给我429个元素

相关问题 更多 >