1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| // on récupère les données des offres
$aOffres = array();
foreach($xml->xpath('//item') as $oItem) {
// récupère l'url
$url = (string)current($oItem->xpath('link'));
// récupère l'id depuis l'url (l'identifiant semble délimité par __ à gauche et à droite)
// on peut utiliser les fonctions de chaînes normales car l'URL n'est a priori composée que de caractères ASCII
$id = trim(substr($url, strpos($url, '__'), strrpos($url, '__') - strpos($url, '__')), '_');
$aOffres[$id]['url'] = $url;
$aOffres[$id]['id'] = $id;
$aOffres[$id]['titre'] = lower_titre((string)current($oItem->xpath('title')));
$aOffres[$id]['description'] = (string)current($oItem->xpath('description'));
$sDate = (string)current($oItem->xpath('pubDate')); // date au format RFC 2822 : Tue, 17 Mar 2009 00:00:00 +0100
$sDate = date('Y-m-d', strtotime($sDate));
$aOffres[$id]['pubDate'] = $sDate;
$aOffres[$id]['lieu'] = (string)current($oItem->xpath('lieu'));
$aOffres[$id]['entreprise'] = (string)current($oItem->xpath('entreprise'));
$aOffres[$id]['typeContrat'] = (string)current($oItem->xpath('typeContrat'));
$aOffres[$id]['remuneration'] = (string)current($oItem->xpath('remuneration'));
$aOffres[$id]['salMin'] = (string)current($oItem->xpath('salMin'));
$aOffres[$id]['niveauExp'] = (string)current($oItem->xpath('niveauExp'));
// on calcule la pertinence de l'offre selon le nom de l'entreprise, le titre et la description de l'offre
$pertinence_auto = calculePertinenceAuto(
$aOffres[$id]['entreprise'],
$aOffres[$id]['titre'],
$aOffres[$id]['description']
);
$aOffres[$id]['pertinence_auto'] = $pertinence_auto ? '1' : '2';
//echo "<li>" . $aOffres[$id]['pertinence_auto'] . " : " . $aOffres[$id]['titre'] . "</li>";
// s'il n'y a pas de listeLieux, disons que c'est une offre "International"
if (count($oItem->xpath('listeCodeLieux')) == 0) {
$aOffres[$id]['lieu'] = 'International';
}
// sinon, on récupère le libellé de région/pays
else {
$oListeCodeLieux = $oItem->listeCodeLieux;
unset($codeslieux);
foreach($oListeCodeLieux->codeLieu as $codeLieu) {
$codeslieux[] = (string)current($codeLieu);
}
$aOffres[$id]['lieu'] = getRegionEnvirojobFromListeCodesApec($codeslieux);
}
$aOffres[$id]['secteurActiviteCode'] = (string)current($oItem->xpath('secteurActivite/code'));
$aOffres[$id]['secteurActiviteIntitule'] = (string)current($oItem->xpath('secteurActivite/intitule'));
$aOffres[$id]['codeJobCode'] = (string)current($oItem->xpath('codeJob/code'));
$aOffres[$id]['codeJobIntitule'] = (string)current($oItem->xpath('codeJob/intitule'));
} |
Partager