填写表格后刮痧数据?

时间:2013-05-08 23:11:59

标签: html screen-scraping

我正在为我的班级做一个小项目,我只是一个初学者,所以如果我混淆了我的一些术语,请原谅我。

基本上,我正在为我所在城市的公共交通系统创建一个互动旅行计划器。不幸的是,他们还没有公开我需要的所有数据。因此,我没有把所有时间都花在收集数据上供个人使用,而是选择进行一些屏幕抓取 - 让他们的服务器从START和STOP变量计算旅程信息,然后在我的页面上显示所选信息。

是否可以远程填写表单的字段,然后刮取随后加载的页面上的数据?如果是这样,最快捷,最方便的方式是什么?这恰好是无法通过URL操纵数据的情况,因此必须先填写表单来访问数据。

有问题的网站: http://jp.translink.com.au/travel-information/journey-planner

1 个答案:

答案 0 :(得分:1)

以下是您可以做的事情:

1。)向journey-planner发送一个POST请求,其中包含一些类似的数据(请注意,CORS可能会跳入,然后您可以通过PHP或任何方式使用cURL):

Start:Wickham Tce, Spring Hill
End:Upper Edward St, Spring Hill
SearchDate:10/05/2013 12:00:00 AM
TimeSearchMode:LeaveAfter
SearchHour:7
SearchMinute:40
TimeMeridiem:AM
TransportModes:Bus
TransportModes:Train
TransportModes:Ferry
MaximumWalkingDistance:1500
WalkingSpeed:Normal
ServiceTypes:Regular
ServiceTypes:Express
ServiceTypes:NightLink
FareTypes:Standard
FareTypes:Prepaid
FareTypes:Free

2。)您将获得一个新的回复位置。这似乎是一个REST链接。最重要的是id。您必须调用该页面并解析HTML并查找包含HTML-id option-summariesdiv,您可以在div travel-option-1中找到更多信息。到travel-option-n。您必须仔细查看它,以便找出存储的信息以及您将如何使用它。

为了找到这些内容,您应该学习如何使用Firebug或Chrome的开发工具。

这是解决问题的一种方法。可能不是最好的,但仍然优于"屏幕刮擦"任何东西。但它会要求你提供很多技巧和努力。此外,如果数据提供者要改变一点,你的解决方案就不再适用了。此外,他们可能会阻止您通过CORS或其他任何内容(阻止您的IP等)访问

相关问题