PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

20-03-2005, 17:35
|
wyros
Newbie
|
|
Registriert seit: May 2004
Beiträge: 6
|
|
Problem beim Spidern
PHP-Code:
<?php
function crawl($Site, $Follow)
{
$file = file($Site);
foreach($file as $n)
{
$row = "".$row."\n".$n."";
}
preg_match_all("!<a (?:.*)href=\"(.*)\"(?:.*)>(.*)</a>!isU",$row,$matches);
for($i = 0; $i < count($matches[1]); $i++)
{
print "".$i." ".$matches[1][$i]."<br>";
if($Follow != 0)
{
$Follow = $Follow--;
crawl($matches[1][$i], $Follow);
}
}
}
crawl($Seite, $Follow);
?>
Was das Script machen soll is klar, Seite auslesen, Links Suchen, Links ggf. auch auslesen, Links suchen ... [...]
aber es will nicht so ganz...
Code:
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
0http://www.flazh.de/index.htm
Fatal error: Allowed memory size of 8388608 bytes exhausted
(tried to allocate 35 bytes) in /var/www/web4/html/spider.php on line 5
http://h4xx0rn.info/spider.php?Follo...a/bmptoepa.htm
das war der Aufruf
Wo liegt der Fehler ?
MfG wyros, danke für die Hilfe im voraus =)
edit: Achja, es geht mir nicht um den Speicherfehler, woher der kommt weiß ich. Es geht darum, dass immer das gleiche angezeigt wird.
Geändert von wyros (20-03-2005 um 17:42 Uhr)
|

20-03-2005, 20:26
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
Zitat:
edit: Achja, es geht mir nicht um den Speicherfehler, woher der kommt weiß ich. Es geht darum, dass immer das gleiche angezeigt wird.
|
hat beides die gleiche ursache!
aber mehr sag ich nem "h4xx0r" nicht. die sind zu cool für mich.
|

20-03-2005, 21:00
|
wyros
Newbie
|
|
Registriert seit: May 2004
Beiträge: 6
|
|
omg, noch nie was von fundomain gehört -.- ?
|

20-03-2005, 22:33
|
treo
Newbie
|
|
Registriert seit: Jan 2005
Ort: Mainz
Beiträge: 44
|
|
Wo wird bei dir eigentlich $Follow definiert?
|

20-03-2005, 22:37
|
wyros
Newbie
|
|
Registriert seit: May 2004
Beiträge: 6
|
|
beim Aufruf
MfG
|

20-03-2005, 23:34
|
Shurakai
Master  
|
|
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
|
|
print_r($matches); hilft dir vllt.
btw:
PHP-Code:
$row = "".$row."\n".$n."";
// schöner:
$row .= "\n".$n;
$Follow = $Follow--;
// das ist identisch...
$Follow--;
und immer so um die 4 leerzeichen einrücken...
|

21-03-2005, 00:39
|
Weltenbrand
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 1
|
|
Also ich bin ja kein Fan von sich selbst aufrufenden Funktionen... (Vorallem da es ewig dauert bis die UR-Funktion wieder geschlossen wird)
Mein Ansatz ist - aus meiner Sicht - viel genialer
[Eigens für dich zusammengebastelt, nicht für produktive Sachen gedacht, soll heißen ein paar Abfragen fehlen und das Ganze ist auch nicht optimal gelöst  ]
Geändert von Weltenbrand (10-03-2012 um 18:27 Uhr)
|

21-03-2005, 14:24
|
wyros
Newbie
|
|
Registriert seit: May 2004
Beiträge: 6
|
|
Danke für den Beitrag und die Mühe Matt, mir wäre aber lieber wenn ich wenn ich wüsste was bei meinem Script der fehler ist ...
Ohne den eigenaufruf funktioniert mein Script =(
Helft mir bitte ...
MfG wyros
|

21-03-2005, 14:31
|
FloB
Junior Member
|
|
Registriert seit: Aug 2004
Ort: Freiburg
Beiträge: 167
|
|
@wyros: Vielleicht mal alle Links in ein Array einfügen und dann per in_array() schauen, ob der Link schon drinne ist ... wenn das zu keinem Ergebniss kommt, dann ist irgendwo ein Fehler ...
__________________
Bevor ich nicht in einem angemessenen Alter bin, werde ich keine Witze mehr über schmalle machen!
- Zitat Berni
|

21-03-2005, 15:11
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
Du übergibst der Funktion beim Aufruf eine URL, diese wird geparst, alle Links in einen Array geschrieben und mit dem ersten Eintrag wird die Funktion erneut aufgerufen. Sie liest nun die neue Seite, parst sie wieder in den Array, aber das erste Element ist immer noch das gleiche. Du rufst die Funktion also immer wieder mit dem gleichen Argument auf.
Jede Zeile deiner Ausgabe ist also aus einen Durchlauf von crawl(), salopp gesagt tritt dein Script also auf der Stelle - solange bis der Speicher nicht mehr ausreicht.
Die Lösung wurde eben schon genannt - du darfst Links nicht einfach so in den Array aufnehmen, sondern mußt sicherstellen, dass sie noch nicht darin enthalten oder zumindest noch nicht abgearbeitet wurden.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
Aktuelle PHP Scripte
Homepagetools 2022
Kostenloses Gästebuch und Homepagetools für die eigene Homepage.
Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.
29.04.2022
freepler | Kategorie: PHP/ Gaestebuch
|
SF-Shopsystem V1.0
Hier haben wir ein einzigartiges Shopsystem in PHP.
Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich.
Ausführliche Beschreibung weiter unten.
28.04.2022
Speedcrawler | Kategorie: PHP/ Shops
|
Anzeigen Markt mit PayPal Bezahl System
Anzeigen Markt Script
mit PayPal Bezahl System
Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal
seine Anzeigen zu schalten, je nach seinem Guthaben.
27.04.2022
Webace_de | Kategorie: PHP/ Anzeigenmarkt
|
Alle PHP Scripte anzeigen
|