Mit dem Request -Modul können Sie nicht alle Titel auf der Webseite auf der Webseite aus der Karte abkratzen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Mit dem Request -Modul können Sie nicht alle Titel auf der Webseite auf der Webseite aus der Karte abkratzen

by Anonymous » 29 Jul 2025, 07:01

Ich versuche, in Python ein Skript in Python zu erstellen, um alle verfügbaren Titel zu kratzen, die beim Klicken auf den schwarz gefärbten Bereich auf der Karte in dieser Website angezeigt werden. Wie kann ich alle Titel mit dem Anforderungsmodul über die Karte erhalten? < /P>

Code: Select all

import re
import json
import urllib3
import requests
from pprint import pprint
from bs4 import BeautifulSoup

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

link = 'https://www.bcassessment.ca/Property/Info/SjAwMDAwQzRZMQ=='

params = {
'f': 'json',
'where': '',
'geometry': json.dumps({'x':-13741429.991596092,'y':6199196.035742312,'spatialReference':{'wkid':102100,'latestWkid':3857}}),
'returnGeometry': 'true',
'geometryType': 'esriGeometryPoint',
'inSR': '102100',
'outFields': 'AFP_OID,UNIT_NUMBER,TOTAL_ASSESSED,ROLL,AREA_EVBC,JUR,TOTAL_LAND,TOTAL_BUILDING,ADDRESS,DESCRIPTION,STREET_NUMBER,STREET_NAME,OID_EVBC,SHORT_ADDRESS,IS_STRATA,FARM_FLAG,UTILITY_FLAG,MAJ_INDUSTRY_FLAG,MANAGED_FOREST_FLAG',
'orderByFields': 'STREET_NAME,STREET_NUMBER,UNIT_NUMBER,SHORT_ADDRESS',
'outSR': '102100'
}
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-language': 'en-US,en;q=0.9',
'host': 'www.bcassessment.ca',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36'
}

headers_ano = {
'accept': '*/*',
'accept-language': 'en-US,en;q=0.9',
'host': 'arcgis.bcassessment.ca',
'origin': 'https://www.bcassessment.ca',
'referer': 'https://www.bcassessment.ca/',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36'
}

with requests.Session() as session:
resp = session.get(link,headers=headers,verify=False)

params['token'] = re.findall(r"gistoken[^']+\'(.*?)\';",resp.text)[0]
query_url  = re.findall(r"mapserverUrl[^']+\'(.*?)\';",resp.text)[0] + "/0/query"
res = session.get(query_url,params=params,headers=headers_ano,verify=False)
print(res.status_code)
for item in res.json()['features']:
print(item['attributes']['ADDRESS'])
Die Ausgabe, die er erzeugt hat: 262 Durrance Rd Victoria

Top