Seit geraumer Zeit benutze ich für Onpage-Crawls den Screaming Frog SEO Spider. Ich schreibe in diesem Beitrag aber nicht über das Tool oder die Datenauswertung, sondern ich zeige hier, wie man das Tool auf Amazons EC2 Cloud zum Laufen bekommt, um größere Datenmengen in kürzerer Zeit zu crawlen.
Falls das Tool noch nicht eingesetzt wird, geht’s hier zum Download. Die Free-Version erlaubt allerdings lediglich eine Abfrage von 500 URLs. Dieser Beitrag richtet sich aber an fortgeschrittene Nutzer, die das Tool schon einsetzen.
Möchte man größere Websites crawlen, kommt man mit einem kleinen Rechner schnell ans Ende der Kapazitäten. Mit 4 GB RAM schafft man es meiner Erfahrung nach lediglich, ca. 30.000 – 40.000 URLs zu crawlen. Die Lösung für das Problem ist ganz einfach:
MEHR POWER.
Da diese Crawls nicht täglich vorkommen, liegt es nahe sich Rechenpower zu mieten. Ich zeige hier auf, wie man auf Amazons EC2 eine Ubuntu-Instanz mit bis zu 70 GB RAM mit dem Screaming Frog zum Laufen bekommt.
Ich setze voraus, dass man zumindest weiß, wie man in der Konsole Verzeichnisse wechselt. 😉
Da der Screaming Frog visuelle Eingaben erfordert, müssen wir zudem zusätzlich eine Desktop-Version von Ubuntu installieren.
How To: Screaming Frog in der Amazon-Cloud
1. Anmelden bei EC2 und im Dashboard eine Instanz starten
2. Starten einer Ubuntu-Instanz mit dem Instance Wizard
Achtung: Am besten erstmal über die FREE-Variante testen!
Wenn wir das Tool in der kleinsten Version zum Laufen bekommen haben, können wir direkt vom erstellten Image aus das Ganze auf der 70-GB-Variante starten.
Als nächstes immer weiter klicken bis zum Menüpunkt CREATE KEY PAIR. Hier generiert man einen Key, diesen muss man natürlich auch downloaden. (Achtung: unbedingt Ordner des Downloads merken!):
Die Security Group Einstellungen sollten sein: SSH 22 und 5900-5901 port Freigabe:
3.Verbindung mit dem Terminal
Sobald die Instanz hochgefahren ist, verbinden wir uns via Terminal (für windows gibt es dafür PuTTY) per ssh:
ssh -i (pfad zu meinem key)/my-key.pem ubuntu@ec2-xx-xxx-xx-xxx.eu-west-1.compute.amazonaws.com
Falls es Probleme mit den Schreib- und Leserechten des Keys gibt, sollten diese noch auf dem lokalen Rechner geändert werden:
chmod 600 my-key.pem
Steht die Verbindung, muss man nun noch eine Desktop-Version installieren. Eine ganz schlanke ohne Schi-Schi reicht vollkommen aus, denn wir brauchen ja alles an Power für den Screaming Frog.
sudo apt-get update
sudo apt-get install xfce4
Nun können wir eine kurze Kaffeepause machen, denn die Installation könnte etwas länger dauern. 🙂
Um eine Remote Desktop-Verbindung herstellen zu können, müssen wir vnc4server installieren:
sudo apt-get install vnc4server
vncserver
Hier legen wir ein Passwort an. Jetzt muss vncserver wieder beendet werden:
vncserver -kill :1
Und eine Ergänzung:
vim .vnc/xstartup
Muss erweitert werden um:
Tipp: Mit ESC wechselt man zwischen Eingabe und Command-Modus. Zum Beenden des Ediors ctrl+c drücken, dann :wq eingeben.
Nun brauchen wir noch Java:
sudo apt-get install openjdk-7-jdk
Und den Screaming Frog:
wget http://www.screamingfrog.co.uk/products/seo-spider/screamingfrogseospider_2.11_all.deb
sudo dpkg –i screamingfrogseospider_2.11_all.deb
Fast geschafft.
4.VNC Server starten
Auf dem eigenen Rechner muss ein VNC Client installiert sein. Ich nutze VNC Viewer. Um die Verbindung herzustellen, den VNC Server jetzt per Terminal starten:
vncserver
Im VNC Viewer die Adresse der Instanz mit :1 eingeben:
Und dann kann man den Screaming Frog unter applications/internet starten:
Jetzt noch die Lizenz eingeben und den entsprechenden RAM zuweisen (.screamingfrog von 512MB auf zum Beispiel 65000MB ändern) und es kann losgehen:
vim .screamingfrogseospider
-Xmx512M
ändern in:
-Xmx65000M
5. Image erstellen
Von der Instanz erstellen wir uns nun per Rechtsklick ein Image (AMI), welches wir mit einem Klick auf einer großen Instanz starten können, so dass wir nicht jedesmal den Installationsaufwand haben.
6. Crawl starten
Zum Start des Screaming Frogs:
- Per Terminal verbinden
- vncserver starten
- Adresse der Instanz im VNC Viewer anpassen
ACHTUNG: Es sollte immer erst das Einverständnis des Seitenbetreibers eingeholt werden, ansonsten könnte ein solcher Crawl als DDoS-Attacke gewertet werden! Nicht zu schnell Crawlen und am besten nachts, um die Seite nicht zu schädigen.
7. Download der fertigen Datei
Die fertige csv-Datei wird per Terminal vom lokalen Rechner aus mittels SCP downgeloadet:
scp –i my-key.pem ubuntu@ec2-xx-xxx-xx-xxx.eu-west-1.compute.amazonaws.com:internal_all.csv .
Und nicht vergessen: Die Instanz muss terminiert werden, sonst fallen laufend weitere Kosten an!
Viel Spass!