0

基本上我想打开这个页面,从最后一个下拉列表中选择“Rüzgar”,使用“Sorgula”按钮运行查询并提取存储在表中的所有坐标,一旦单击主表中第一列的第一个按钮,就会出现。我想对所有行都这样做。

不幸的是,我没有足够的编程经验来执行这项任务。但是,由于我对编程有点熟悉,我想如果有人会为我指出正确的来源来学习如何做到这一点(关于我试图从中提取数据的网页的要求),我可以构建用于此任务的小脚本,可能使用 scrapy 或其他工具。

PS:我尝试用 scrapinghub 的 Portia 来做这件事,但这也不起作用。

4

2 回答 2

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()

从那里,您可以弄清楚如何抓取您所追求的信息:-)

于 2016-03-23T19:10:46.210 回答
1

Selenium 可能没问题,因为当您将底部的分页设置为 500 时只有 3 页。不过我不会使用 selenium,因为它......有更好的方法。

当您单击“Rüzgar”按钮时,您所做的只是一个带有以下参数的 POST 请求:

这只是一个发布请求

打开 chrome 调试器并亲自查看您正在执行的请求类型。您可以复制请求。如果您对这种方法感兴趣,请告诉我——也许——再写一些。

于 2016-03-24T16:21:18.333 回答