屏幕刮刮2个航空公司页面

时间:2015-05-31 21:27:03

标签: php curl screen-scraping file-get-contents

我每周都在相同的路线上旅行,只有少数航班和航空公司适合。为了获得最优惠的价格,我手动检查价格。

因此,我构建了一个迷你脚本,我可以输入日期,并使用" fast"打开运营商的几个网页。链接,这样我就不必手动输入航班日期,例如

  

https://www.condor.com/tcibe/de/flight/flights?origin=HAJ&destination=PMI&outboundDate=20150614&inboundDate=20150621&adults=1&children=0&infants=0&compartmentTariff=KONT_Y_SPO&currency=EUR&action=search&flightMode=OW

知道我想知道是否可以使用任何屏幕抓取方法自动更新一点。完美的最终输出应该是这样的,它为我提供了我需要的概述:

+------------+---------+---------+
|   HAJ-PMI  |  date1  |  date2  | ...
+------------+---------+---------+
| Condor     | 219,99  | 78,88   | ...
| Air Berlin | 188,99  | 119,99  | ...
+------------+---------+---------+

所以参考上面的示例链接,我怎样才能抓住价格。我尝试使用 file_gets_content cUrl 进行此操作但未获得任何可接受的结果,因为它似乎未正确加载页面。

卷曲

<?php
$url = 'https://www.condor.com/tcibe/de/flight/flights';
$postValues = array(
            'om.condor.tcibe.tenant.Device' => 'DESKTOP',
            'compactForm' => 'compactForm',
            'compactForm:adults' => 1,
            'compactForm:advanced' => false,
            'compactForm:children' => 0,
            'compactForm:compartmentTariff' => 'KONT_Y_LM',
            'compactForm:infants' => 0,
            'compactForm:oneway' => true,
            'compactForm:outboundDate' => '20150614',
            'compactForm:outboundDestination' => 'PMI',
            'compactForm:outboundOrigin' => 'HAJ',
            'compactForm:search' => 'finden',
            'javax.faces.ViewState' => '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',);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_FAILONERROR, TRUE);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);  
curl_setopt($ch, CURLOPT_POSTFIELDS, $postValues); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);  
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
$data = curl_exec($ch);
curl_close($ch);   
echo $data;

任何提示?

0 个答案:

没有答案