#1 7. Juli 2008 MoinMoin, ich habe im Moment ein kleines Problem: Ich habe einen Webshop aufgesetzt, welcher auch einwandfrei funktioniert, allerdings läuft dieser erst mit einem seperat eingebauten serverseitigen Cache recht schnell. Allerdings muss dafür immer erst die Seite des jeweiligen Produkts aufgerufen werden und ein Kunde müsste eine recht lange Wartezeit in Kauf nehmen (zwischen 5-20 sekunden). Daher suche ich ein möglichst PHP-basierendes Spider Script welches man jede nacht per Cronjob starten kann um den Cache neu aufzubauen, damit die Seite aktuell und schnell bleibt. Das Script sollte aber dabei nur auf der einzelnen Domain bleiben, also keine externen Seiten besuchen. Weiß da irgendjemand ein Script/eine Lösung? grüße thunderhans + Multi-Zitat Zitieren
#2 7. Juli 2008 AW: Spider für eine Seite also ich benutze das Shopsystem von kaonsoftwares und die gehen genau nach diesem System vor wie du es gemeint hast, per CSV List-Import , alles ganz einfach. Ist aber auch mehr für den Online-Preisvergleich geschaffen. Das Spiderscript was dort eingebaut ist, sucht nach allen Seiten und Preisen die man eingibt. Diese werden dann seperat zusammengefasst. Wenn du mal ein Beispiel für dieses Shopsystem sehen willst hier: http://products.kaonsoftwares.com/price-comparison/ hier die adminsection-demo: http://products.kaonsoftwares.com/price-comparison/admin/ ID: Admin PW: as ich denke dieses Spiderscript lässt sich auch für andere Zwecke verwenden + Multi-Zitat Zitieren
#3 7. Juli 2008 AW: Spider für eine Seite sollte eigentlich mit wget machbar sein... wget(1): non-interactive network downloader - Linux man page mit der option "--spider". nun bin ich mir nicht sicher, wie das "Wget will behave as a Web spider, which means that it will not download the pages, just check that they are there." implementiert ist. es kann sein, dass es den server nicht veranlasst den cache neu aufzubauen. sollte das der fall sein, so lasse die seiten von wget jeweils nach "/dev/null" laden... + Multi-Zitat Zitieren
#4 7. Juli 2008 AW: Spider für eine Seite ähm, also mit php is das möglich, nur einfach isses ned. aber mal ganz abgesehn davon das es sinnlos is, mal ne andre frage... warum dauern deine scripts 5-20 sekunden? an deiner stelle würde ich mal überlegen warum die so lange dauern, ich mein ich hab selber schonmal sowas ähnliches gecodet und dank php-cache nen seitenaufbau von ~ 0.5-1 sec. schau mal hier: http://de.wikipedia.org/wiki/Alternative_PHP_Cache + Multi-Zitat Zitieren
#5 7. Juli 2008 AW: Spider für eine Seite guck dir mal cUrl an im Manuelen da solltest du alles finden um dir ein eigenden spider zu basteln mfg 1mp + Multi-Zitat Zitieren
#6 7. Juli 2008 AW: Spider für eine Seite @ Murdoc: Ich nutze im moment "Cache_lite" für pear, der Alternative PHP Cache scheint auch mit pear installierbar zu sein, allerdings weiß ich nicht wie ich diesen in Zen Cart einbauen könnte. Die schlechte Performance kommt von den wirklich lahmen Strato-DB Server.... @1mp: cUrl wird von Strato leider nicht unterstützt...normalerweise würde ich auch den Provider wechseln für eine bessere Datenbank-Performance, allerdings hat derjenige für den ich den Shop mache einen 12-Monate Strato-Vertrag..... @Timer: Danke für den hinweiß, ich schau mir das mal an + Multi-Zitat Zitieren
#7 7. Juli 2008 AW: Spider für eine Seite dann cache doch die mysql-results PHP: <? php if( file_exists ( 'mysql_result.tmp.php' )) { $r = include 'mysql_result.tmp.php' ;} else { $q = mysql_query ( ' select `nen_ganzen_haufen` from `der_db`.`ner_tablelle` where `feld` = true ' ); $r = array(); while( $r [] = mysql_fetch_assoc ( $q )); file_put_contents ( 'mysql_result.tmp.php' , '<?php return unserialize(base64_encode(\'' . base64_decode ( serialize ( $r )) . '\'; ?>' );} ?> wenn du das so machst brauchst du keinen bot mehr, immer der erste user der die seite betritt cached alle mysql-results von selber. am anfang is deine seite vielleicht lahm, aber nach ner zeit und wenn du a weng mithilfst hast bald alles wichtige im cache. + Multi-Zitat Zitieren
#8 7. Juli 2008 AW: Spider für eine Seite mhh... vll. noch das alter der datei vergleichen, wenn diese existiert... aber, naja... richtig "cachen" ist das net... + Multi-Zitat Zitieren