基本上我想打开this页面,从最后一个下拉列表中选择“Rüzgar”,用“Sorgula”按钮运行查询并提取出现在表格中的所有坐标,一旦点击了第一个按钮主表中的第一列。我希望为所有行做到这一点。
不幸的是,我没有足够的编程经验来执行此任务。但是,由于我对编程有点熟悉,我想如果有人会指出正确的来源让我学习如何做到(关于我试图提取数据的网页的要求< / em>)我可以为此任务构建一个小脚本,可能使用scrapy或其他工具。
P.S。:我试图用scrapinghub的Portia来做,但这也不起作用。
答案 0 :(得分:2)
看看名为selenium
的Python模块,即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()
从那里,你可以弄清楚如何刮掉你之后的信息: - )
答案 1 :(得分:1)
Selenium可能没问题,因为当您将底部的分页设置为500时,只有3页。但是我不会选择selenium,因为它有更好的方法。
单击“Rüzgar”按钮时所做的只是一个POST请求,其中包含以下参数:
打开chrome调试器并亲自查看您正在执行的请求类型。您可以复制请求。如果你对这种方法感兴趣,请告诉我 - 也许 - 写一些。