2014-01-19 47 views
1

我想要实践编程做一个简单的应用程序,HTTP请求一个网站来获得酒店的价格。我打算在今年夏天旅行,我想知道这个礼拜2个月的最低价格。网站不响应与网页浏览器或卷曲相等

我想捕捉在booking.com酒店的价格。当我使用网络浏览器时,我看到了价格,但是当我使用PHP cUrl时,网站不会用相同的HTML数据做出响应。随着cUrl我无法看到酒店的价格。

我怀疑问题可能是会话或cookie。我已经尝试了2周,但我无法解决它。

URL是http://www.booking.com/hotel/us/blakely-new-york.es.html?aid=356984;label=gog235jc-district-es-us-newNyork_manhattan-unspec-es-com;sid=f44e42aec5d1476017c8ab1841371d7b;dcid=1;checkin=2014-05-04;checkout=2014-05-10;srfid=d06488818183ccefd944221a0e84c2e00d121135X20

谁能帮助我? 在此先感谢!

+2

curl会得到网站返回的html,但是如果网站内容是由ajax调用构建的,它不会执行任何javascript javascript –

+0

谢谢Mark! – pepmallorca

+0

你是否用卷曲保存曲奇? booking.com依靠它。 –

回答

1

与booking.com并不那么直接。要从Booking.com检索信息,您应该使用become an affiliate partner,以便您可以访问其API。然后,使用API​​从他们的网站获取您需要的任何信息。

+0

谢谢Aggelos!我只是想让它知道一个价格。也许booking.com不会给我一个访问API来做到这一点。你怎么看? – pepmallorca

+0

我认为booking.com不会为您提供仅以单一价格访问其API的权限。所以......如果是一次性解决方案,可以使用简单的dom解析器(http://simplehtmldom.sourceforge.net/)来获取html页面的所有元素,并找到具有价格的元素。 –

+1

上周我曾尝试过这门课,但我认为预订会检测到我是“机器人”,并且不会在我获得的html上显示价格。 – pepmallorca