Соскоб в сети из нескольких таблиц, появляющихся при клике
По сути, я хотел бы открыть эту страницу, выбрать "Rüzgar" в последнем выпадающем меню, выполнить запрос с помощью кнопки "Sorgula" и извлечь все координаты, сохраненные в таблице, появляющейся после нажатия первой кнопки первого столбца в основной таблице. Я хочу сделать это для всех строк.
К сожалению, у меня нет достаточного опыта программирования для выполнения этой задачи. Однако, так как я немного знаком с программированием, я думаю, что если кто-то укажет правильный источник для меня, чтобы узнать, как это сделать (вотношении требований веб-страницы, из которой я пытаюсь извлечь данные), я могу построить небольшой сценарий для этой задачи, может быть, с помощью скрапа или другого инструмента.
PS: я пытался сделать это с помощью Portia, но это тоже не сработало.
2 ответа
Взгляните на модуль Python под названием selenium
а именно webdriver
Часть этого. Некоторый быстрый код, который будет выполнять поисковый запрос, который вы ищете, будет написан так:
from selenium import webdriver
driver = webdriver.Firefox()
search_link = 'http://lisans.epdk.org.tr/epvys-web/faces/pages/lisans/elektrikUretimOnLisans/elektrikUretimOnLisansOzetSorgula.xhtml?lisansDurumu=7'
driver.get(search_link)
last_dropdown_menu = driver.find_element_by_id('elektrikUretimOnLisansOzetForm:j_idt32')
last_dropdown_menu.click() # send a click to the element
last_dropdown_menu.send_keys('R') # scroll to Ruzgar
sorgula_button = driver.find_element_by_xpath('//*[@id="elektrikUretimOnLisansOzetForm:j_idt51"]/span[2]').click()
оттуда вы можете выяснить, как очистить информацию, которую вы ищете:-)
Селен может быть в порядке, поскольку есть только 3 страницы, когда вы устанавливаете нумерацию страниц внизу на 500. Тем не менее, я бы не стал использовать селен, потому что это... есть лучшие способы.
Все, что вы делаете, когда нажимаете кнопку "Rüzgar", это POST-запрос со следующими аргументами:
Откройте Chrome -отладчик и убедитесь, какой тип запросов вы делаете. Вы можете повторить запрос. Если вы заинтересованы в этом методе, скажите мне, может быть, напишите еще.