<?php
class DAL {
function getNoAnnonces()
{
return array(
"12334",
"233455"
);
}
function getURLRecherches()
{
//$line = "Nissan, Rogue, 2008, 1000, 9000, 10000, 110000";
//$line2 = "Nissan, Rogue, 2009, 1000, 9000, 10000, 90000";
return array(
"http://www.kijiji.ca/b-autos-camions/grand-montreal/suv+vgm-bmw-x5-2001__2009/c174l80002a138a54a1000054a68?sort=priceAsc&price=2000.00__40000.00&kilometres=10000__110000",
"http://www.kijiji.ca/b-autos-camions/grand-montreal/suv+vgm-bmw-x5-2001__2009/c174l80002a138a54a1000054a68?sort=priceAsc&price=2000.00__40000.00&kilometres=10000__110000"
//split(",", $line, 7),
//split(",", $line2, 7)
);
}
}
class AdsListExtractor {
private $html;
function __construct($a1)
{
$this->html = $a1;
echo $this->html;
echo "\n";
}
function getURLs()
{
$regexa = '/\<a(.*)\<\/a\>/';
preg_match($regexa, $this->html, $matches);
$a = $matches[1];
//echo $a;
//echo "\n";
//echo "\n";
//Extract no d'annonces
$regexno = '/name="(\d+)"/i';
preg_match($regexno, $a, $matches);
//echo 'id:';
//echo $matches[1];
//echo "\n";
//Extract url des fiches
$regexurl = '/href="(\S+)"/i';
preg_match($regexurl, $a, $matches);
//echo 'url:';
//echo $matches[1];
echo "\n";
$url_fiche = 'http://www.kijiji.ca' . $matches[1];
echo $url_fiche;
echo "\n";
return $matches;
}
}
class AdInfoExtractor {
private $html = 0;
function __construct($a1)
{
$this->html = $a1;
}
function getHMTL()
{
echo '------'.$this->html;
$regexatt = '/\<table class="ad-attributes">(.*)\<\/table\>/';
preg_match($regexatt, $this->html, $matches);
$a = $matches[1];
$regexcontent = '/\<div id="UserContent">(.*)\<\/div\>/';
preg_match($regexcontent, $this->html, $matches);
$b = $matches[1];
return $a . $b;
}
}
class HTMLReader {
function getHTML($url)
{
if ($url='http://www.kijiji.ca/b-autos-camions/grand-montreal/suv+vgm-nissan-rogue-2001__2009/c174l80002a138a54a1000054a68?sort=priceAsc&price=2000.00__40000.00&kilometres=10000__110000"')
{
return "<td class=\"description\"><a href=\"/v-autos-camions/ville-de-montreal/2008-bmw-x5-suv/568081363\" class=\"title enable-search-navigation-flag\" name=\"568081363\">2008 BMW X5 SUV</a><p>";
}
else
{
return 'dhoaudg od oaeywgdoad <table class="ad-attributes">yesser</table> dfdssd <div id="UserContent">good</div> dfdfdf df df';
}
}
}
$dal = new DAL();
$mail_html = '';
foreach ($dal->getURLRecherches() as $line_num => $line) {
echo $line;
echo "\n";
$reader = new HTMLReader();
$liste = new AdsListExtractor($reader->getHTML($line));
foreach ($liste->getURLs() as $line_num => $line2) {
$htmlfiche = $reader->getHTML($line2);
$ad_info = new AdInfoExtractor($htmlfiche);
$mail_html = $mail_html . $ad_info->getHMTL();
echo "\n";
}
}
preferences:
37.33 ms | 402 KiB | 5 Q