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;
	}
}		
?>
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
programmieren:php:programme (177 views) · Zuletzt geändert: 04/10/2020 15:57 von conny