Ohne jede Seite zu parsen wirst du nicht an die Bilder (bzw. die Links) herankommen.
Ausser du cacht jedes Ergebnis, aber , ja ...
Die Performance wird nicht super sein, da du jede externe Seite erstmal parsen musst. Und wenn der andere Server hängt, hängt auch dein Script. Nen Ladebalken und eine kurze IP Sperre (damit nicht alles "gesprengt" wird)) wäre da nicht schlecht
Auch wenn php schon einen Garbage Collector hat, würde ich auch nach jedem parsen unbedingt so schnell es geht die variablen mit unset() löschen und nicht zu viele Ergebnisse anzeigen lassen.
Es wäre schön, wenn du dein Ergebnis hier nochmal posten würdest, das würde mich auch mal interessieren wie schnell doer langsam das ganze läuft.