Советы о том, как соскрести информацию с интерактивной карты? - PullRequest
0 голосов
/ 25 апреля 2019

url = https://geoportal.minetur.gob.es/VCTEL/vcne.do Если вы перейдете по ссылке, появится веб-сайт с интерактивной картой.Эта карта показывает все телекоммуникационные башни в Испании.Однако башни становятся видимыми только при достаточном увеличении (затененная область шкалы зумирования).Башни отображаются в виде синих точек, которые при нажатии на информацию отображаются.Моя цель - собрать всю информацию о каждой башне в Испании, чтобы не пропустить ни одной.Мне просто интересно, может ли кто-нибудь дать представление о наилучшем способе достижения этой цели.

Я думал только о двух вещах:

  • Вручную перемещайтесь по карте, нажимая на все башни, которые появляются с использованием селена

  • С каждой башней связан код, который означает, что я могу получить доступ к информации об этой башне, просто поместив код непосредственно в URL, однако, хотя коды имеют некоторый порядок, некоторые совершенно случайны, поэтому я, вероятно, пропущу довольно много башентаким образом.

Любая помощь приветствуется!

1 Ответ

1 голос
/ 27 апреля 2019

Когда вы увеличиваете область, вы можете использовать приведенный ниже код, чтобы получить все башни в увеличенной области и получить свойства каждой башни.

towers = driver.find_elements_by_css_selector("div#map image[id*='OpenLayers.Geometry']")
each tower in towers:
     # click on tower
     tower.click()
     # get the properties here

Единственный недостаток, который я вижу, это то, что нет возможности получить все башни в стране, мы должны увеличить каждую область, чтобы показать башни.

...