2016-08-08 14 views
-1

Ich mache einen Scraper, um eine Liste meiner Freunde von Facebook zu bekommen, dann eine Liste von gemeinsamen Freunden von ihnen zu kratzen, mit dem Ziel, ein Web mit den Daten zu konstruieren. Ich schaute auf die offizielle Facebook-API, und es scheint nicht möglich zu sein, entschied ich mich einfach von den Webseiten zu kratzen.Wie man mit einer "endlosen" Webseite beim Scraping umgehen kann

Nachdem ich mich mit mechanize eingeloggt habe, habe ich die Seite ausgekratzt und festgestellt, dass Facebook nur 20 Freunde gleichzeitig lädt und beim Scrollen mehr lädt. Ich schaute durch, er mechanisierte Dokumente, aber ich konnte keine Lösung finden. Ich habe versucht, ein paar Sekunden zu schlafen, bevor ich die Seite summierte und das hat auch nicht funktioniert.

Nicht sicher, wohin von hier zu gehen, gibt es sowieso, um in mechanisieren Scrollen nachzuahmen?

+0

Facebook erlaubt kein Scraping mit schriftlicher Erlaubnis von ihnen. Also nutze die API. – WizKid

+0

würde ich wenn ich könnte. –

Antwort

0

Sofern Sie Selenium verwenden, um die tatsächliche Webseite zu simulieren, werden Sie nicht in der Lage sein zu simulieren „Blättern“ (wie bewegen Sie, wenn kein Fenster ist daher keine Fensterhöhe?)

Sie sagen, dass es nichts in der API, mit dem Sie Freunde von Freunden holen können, aber es scheint eine API function zu sein, die es ermöglicht, die Freundesliste eines Benutzers zu holen.

Wenn das auch nicht funktioniert, ist es die einzige Möglichkeit, den Ajax aufzuspüren, den die FB benutzt, um die nächste Freundesliste zu holen und damit weitere Informationen zu holen.

+0

Danke, dass du mich auf Selenium aufmerksam gemacht hast, ich werde es ausprobieren. Was die API-Funktion betrifft, bekomme ich diese Nachricht, wenn ich versuche, Freunde zu holen: "Nur Freunde, die diese App installiert haben, werden in API v2.0 und höher zurückgegeben. Total_count in Zusammenfassung gibt die Gesamtzahl der Freunde an, einschließlich derer, die nicht installiert haben die App." –

+0

@AstorThrope Fühlen Sie sich frei, meine Antwort zu wählen, wenn es Ihre Frage beantwortet hat. – lonewaft

+0

In meinem Fall habe ich Mechaniker in m.facebook.com verwendet, um die vollständige Liste der Freunde zu erhalten. Mit regex erkannte ich die URL (next) und ich navigierte Seite für Seite alle Freunde, offensichtlich die Liste, die ich sehen konnte (Privilegien). –

Verwandte Themen