Я путешествую по одним и тем же маршрутам каждую неделю, и только несколько рейсов и перевозчики подходят. Чтобы получить лучшую цену, я проверяю цены вручную.
Поэтому я создаю мини-скрипт, в котором я могу ввести дату и который открывает несколько веб-страниц перевозчика, используя «быстрые» ссылки, так что мне не нужно вводить даты полета вручную, например,
Знайте, мне было интересно, возможно ли еще немного автоматизировать это, используя любой метод очистки экрана. Идеальный конечный результат должен быть таким, который дает мне именно тот обзор, который мне нужен:
+------------+---------+---------+
| HAJ-PMI | date1 | date2 | ...
+------------+---------+---------+
| Condor | 219,99 | 78,88 | ...
| Air Berlin | 188,99 | 119,99 | ...
+------------+---------+---------+
Итак, ссылаясь на пример ссылки выше, как я могу поймать цену. Я пытался сделать это с помощью file_gets_content а также завивать но не получил никакого приемлемого результата, так как кажется, что страница загружена неправильно.
локон:
<?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;
Какие-нибудь советы?
Задача ещё не решена.
Других решений пока нет …