Der einfachste Weg zu bekommen, wo Sie durch die Verwendung von cURL wollen. cURLs Basisfunktion besteht darin, dass Sie eine HTTP-Anfrage so konfigurieren können, wie Sie sie benötigen und die Antwort erhalten. Dies kann in verschiedenen Graden von Details erfolgen, abhängig von Ihren Bedürfnissen.
Was Sie tun möchten, ist im Wesentlichen eine HTTP-Anfrage, um die gewünschte Seite zu erhalten und die Daten aus der Antwort HTML zu kratzen. Dies kann sehr einfach sein, aber in Ihrem Fall müssen Sie einige Hindernisse überwinden.
Ich gehe davon aus, dass Sie mit "Ich muss einloggen" meinen, dass es ein Login-Formular gibt, das Sie hinter sich bringen müssen, bevor Sie etwas kratzen können. cURL kann mit ein wenig Hilfe Ihrerseits einen Login fälschen.
Zunächst müssen Sie das Anmeldeformular mit cURL "senden", so wie Sie es von Hand tun würden. Um sicherzugehen, dass Sie es richtig verstanden haben, müssen Sie die HTTP-Anfragen Ihres Browsers sehen, wenn Sie das Formular von Hand einreichen und identische Anfragen mit cURL erstellen. Um die HTTP-Anfragen im Detail zu sehen, können Sie Firebug, Chrome's Developer Tools oder die absolut fantastischeFiddler debugging proxy verwenden.
Höchstwahrscheinlich sendet Ihnen der Server nach dem Einreichen eines gültigen Anmeldeformulars einen Cookie, der bei der Authentifizierung bei nachfolgenden Anfragen verwendet wird. Dieser Cookie ist Teil der Header der HTTP-Antwort des Servers (Set-Cookie
header). Sie müssen sich den Wert dieses Cookies merken und einen Header Cookie
bei nachfolgenden Scrapes zum Server hinzufügen - im Wesentlichen tun Sie genau das, was Ihr Browser tun würde, wenn Sie eingeloggt wären ** ¹ **.
Und schließlich müssen Sie möglicherweise mehr als einen Hin- und Rückflug machen, um Ihr Ziel zu finden. Vielleicht ist die URL, die Sie scrappen müssen, vorher nicht bekannt, und Sie müssen eine "Listen" -Seite scrappen, um einen variablen Teil der URL zu finden, die Sie scrappen möchten. Dies kann gelöst werden, indem man das Problem in mehreren Schritten anpackt: Zuerst die Seite "Liste" abkratzen, herausfinden, was man braucht, dann die Seite "Details" abkratzen, die man wirklich will.
Ich stelle keinen Code zur Verfügung, da es im Web viele Tutorials zu cURL gibt, aber ich glaube, dass es viel einfacher ist, zu wissen, was der Plan ist.
¹ Eine andere Art und Weise (schneller, aber roh) diese in sich selbst, indem Sie einfach die Anmeldung ist zu gehen um zu tun, um den Wert des Cookies zu sehen, du hast, und Einfügen nur, dass in Anfrage Ihre schaben ist. Der Vorteil ist, dass Sie kein Login mehr mit cURL fälschen müssen. Der Nachteil besteht darin, dass sich jeder Benutzer vor jeder Verwendung des Tools manuell anmelden und dem Tool die Anmeldeinformationen bereitstellen muss.
Sie müssen weitere Details zur Anmeldung angeben, z. B. grundlegende Zugriffsauthentifizierung, oder? – ajreal