Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:php:programme:gelbe_seiten

Gelbe Seiten Adressen auslesen

Dieses Script ließt aus Gelbe Seiten die Adressen aus und erstellt eine CSV Datei.
Dazu erst mal eine normale Einschränkung bei Gelbe Seiten machen (Suche z.B. Friseure im Umkreis von 50km um die PLZ 99999)
Dann die von Gelbe Seiten erstellte URL kopieren und hier einfügen.
Script laufen lassen - Fertig.

gelbeseiten.php
<?php 
echo "Liest bei Gelbe Seiten alle Adressen f&uuml;r Friseursalons ein.<br> ";
echo "Z.B. vom Link <a href='https://www.gelbeseiten.de/friseursalons/buxtehude,,,,,umkreis-50000'>https://www.gelbeseiten.de/friseursalons/butehude,,,,,umkreis-50000</a><br>";
echo "und erstellt damit eine Datei adressen.csv<br><hr>";
 
 
$umkreis = 10; //Umkreis = 10km, 20km, 30km, 40km, 50km 
 
/* ------------------------------------ ab hier nichts mehr ändern ----------------------------------------------- */
// Prog INI
ini_set("zlib.output_compression", "Off");
ini_set("output_buffering", "0");
 
 
// Variablen definieren
$csv_inhalt = "";
$z = 1;
$umkreis = $umkreis * 1000;
 
// Menge der Adressen ermitteln
$source_url = "https://www.gelbeseiten.de/friseursalons/buxtehude,,,,,umkreis-$umkreis/";
$html_inhalt = file_get_contents( $source_url );
$adr_menge = teilstr($html_inhalt,'gs_titel_anzahlTreffer">',"</span>",0,$ende);
echo "Zu erzeugende Adressen: ".$adr_menge."<br>";
echo "Aufgerufene Links:<br>";
ob_flush();
// Adressen abrufen
for ($a = 1; $a <= ceil($adr_menge/15); $a++) {
 
	$source_url = "https://www.gelbeseiten.de/friseursalons/waechtersbach,,,,,umkreis-$umkreis/s".$a;
	if( false == ($html_inhalt = file_get_contents( $source_url ))) 
	{
	//	echo "Quelle konnte nicht gelesen werden<br>";
	}else{
	//	echo "Quelle wurde eingelesen<br>";
	}
	echo $source_url."<br>";
 
 
	$merke_ende = 0;
	for ($i = 1; $i <= 15; $i++) {
			$block = teilstr($html_inhalt,"<article","</article",$merke_ende,$ende);
			$merke_ende = $ende;
			$csv_inhalt .= $z.";";
			$csv_inhalt .= teilstr($block,'<span itemprop="name">','</span>').";";
			$csv_inhalt .= str_replace("&nbsp;","", teilstr($block,'<span itemprop="streetAddress">','</span>')).";";
			$csv_inhalt .= teilstr($block,'<span itemprop="postalCode">','</span>').";";
			$csv_inhalt .= teilstr($block,'<span itemprop="addressLocality">','</span>')."\r\n";
			$z++;
	}
	//	echo "<br>Ende".$merke_ende;
}
echo "Adressen:<br>";
echo $csv_inhalt;	
 
//Daten als CSV speichern 
$datei = fopen("adressen.csv","w+");
fwrite($datei, $csv_inhalt);
fclose($datei);
 
// ----------------------------------------------------------------------------------------------------------------------		
// gibt String zurück welcher zwischen zwei Strings liegt
function teilstr($inhalt,$sbg_von, $sbg_bis, $anfang, &$ende)
{
	if( !isset($anfang) ) $anfang = 0;
	if( !isset($ende) )   $ende = 0;
 
	if ($start_pos = strpos($inhalt,$sbg_von,$anfang)){
		$start_pos += strlen($sbg_von);
		// echo "Start ".$start_pos."<br>";
		if ($end_pos = strpos($inhalt, $sbg_bis, $start_pos)){
		//	echo "Ende ".$end_pos."<br>"; 
			$ende = $end_pos;
			$erg_link = substr($inhalt,$start_pos,$end_pos-$start_pos);
			return $erg_link;
		} else {
			return false;
		}
	} else { 
		return false;
	}
}		
?>
Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
programmieren:php:programme (53 views) · Zuletzt geändert: 04/10/2020 15:57 von conny