无法使用请求从映射中分析应用程序编号



我正在尝试使用请求模块从映射中抓取信息。我想要的信息放在几个盒子状的容器里,当点击地图上的黄色区域时就会弹出。我希望解析每个框中的application number

我试图在开发工具中观察网络活动,以找出任何包含所需信息的链接,但我失败了。

以下是我创建脚本的方式,但在执行脚本时得到了不同的信息:

import json
import requests
from pprint import pprint
link = 'https://gisportal.campbellriver.ca/arcgis/rest/services/DevelApps_MuniBdry_Parcels/FeatureServer/1/query'
params = {
'f': 'json',
'returnGeometry': 'true',
'spatialRel': 'esriSpatialRelIntersects',
'geometry': '{"xmin":-13971465.778085683,"ymin":6418264.391068123,"xmax":-13932330.019603727,"ymax":6457400.14955008,"spatialReference":{"wkid":102100}}',
'geometryType': 'esriGeometryEnvelope',
'inSR': '102100',
'outFields': '*',
'outSR': '102100',
'resultType': 'tile',
'quantizationParameters': '{"mode":"view","originPosition":"upperLeft","tolerance":76.43702828507084,"extent":{"xmin":-13970672.893748092,"ymin":6429207.023229747,"xmax":-13936535.293969424,"ymax":6466884.27089714,"spatialReference":{"wkid":102100,"latestWkid":3857}}}'
}
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36',
}
with requests.Session() as s:
s.headers.update(headers)
res = s.get(link,params=params)
for item in res.json()['features']:
pprint(item['attributes'])

电流输出(截断(:

'APPROX_HA': 17.68241328,
'BCAssessVa': 111000,
'COMPLETED': 'y',
'DESCRIPTIO': 'Rural Two',
'ELECTORAL': 'JUR336',
'HOUSE': 0,
'HTTP': 'http://GIS01/ParcelTifs/NoPlan.pdf',
'HTTP1': 'http://webmap.campbellriver.ca/ZoningPdf/RU-2.pdf',
'JUROLL': '0336029068.076',
'LAST_UPDAT': 'JUL 15 2004',
'LEGAL': 'SECTION 14  TOWNSHIP 2  COMOX LAND DISTRICT  PLAN VIP552A W 1/2 OF '
'SE 1/4, MANAGED FOREST 0068.',
'LINK_ID': 12399,
'LOT': ' ',
'LOT_DESC': 'ACRES',
'LOT_SIZE': '80',
'LTO_NUMBER': 'CA7321763'

预期输出:

Status                Received
Application number    P1800100
Type                  Official Community Plan Bylaw Amendment (OCP)

如何使用请求从该映射中抓取Application Numbers

不确定这是否有帮助。

我可以找到这个API

您必须对输入进行反向工程才能获得此输出,但这对您来说应该是一个良好的开端,因为您使用的是/DevelApps_MuniBdry_Parsels而不是/AllDevelopmentApplications。

还可以看看的第一个请求

总之,我认为你应该监控网络选项卡,因为看起来它们从API中获取所有数据,然后使用一些逻辑来匹配你的鼠标点击->坐标->你应该能够在没有前端的情况下自己做的事情。不过需要一些时间。

相关内容

最新更新