Verwenden von tor und python zum scrappen von Google Scholar

9

Ich arbeite an einem Projekt, um zu analysieren, wie Zeitschriftenartikel zitiert werden. Ich habe eine große Datei mit Zeitschriftenartikelnamen. Ich beabsichtige, sie an Google Scholar weiterzuleiten und zu sehen, wie viele Zitate sie haben.

Hier ist die Strategie, der ich folge:

  1. Verwende "scholar.py" von Ссылка . Dies ist ein vorgefertigtes Python-Skript, das Google Scholar durchsucht und Informationen zum ersten Treffer im CSV-Format (einschließlich der Anzahl der Zitate) zurückgibt.

  2. Nach einer bestimmten Anzahl von Suchanfragen blockiert Google scholar (ich habe ungefähr 3000 Artikeltitel zu erfragen). Ich habe festgestellt, dass die meisten Leute Tor ( Wie machen Sie Urlib2-Anfragen über Tor in Python? und Verhindern, dass der benutzerdefinierte Web-Crawler geblockt wird ), um dieses Problem zu lösen. Tor ist ein Dienst, der Ihnen alle paar Minuten eine zufällige IP-Adresse gibt.

Ich habe scholar.py und tor beide erfolgreich eingerichtet und arbeiten. Ich bin nicht sehr vertraut mit Python oder der Bibliothek urllib2 und frage mich, welche Änderungen an scholar.py erforderlich sind, damit Abfragen durch Tor geleitet werden.

Ich bin auch offen für Vorschläge für einen einfacheren (und möglicherweise erheblich anderen) Ansatz für umfangreiche Google-Scholar-Abfragen, falls eine existiert.

Vielen Dank im Voraus

    
krishnan 12.07.2012, 00:42
quelle

1 Antwort

1

Für mich ist der beste Weg, TOR zu verwenden Einrichten eines lokalen Proxy wie polipo . Ich möchte das Repo klonen und lokal kompilieren:

%Vor%

Aber Sie können Ihren Paketmanager verwenden ( brew install polipo in mac, apt install polipo auf Ubuntu). Dann schreibe eine einfache Konfigurationsdatei:

%Vor%

Dann führe es aus:

%Vor%

Siehe urllib-Dokumentation zur Verwendung eines Proxys . Wie viele Unix-Anwendungen berücksichtigt auch urllib die Umgebungsvariable http_proxy :

%Vor%

Ich benutze gerne die Requests-Bibliothek, einen besseren Wrapper für urllib. Wenn Sie es noch nicht haben:

%Vor%

Wenn urllib Tor verwendet, sollte der folgende Einzeiler True drucken:

%Vor%

Das Letzte, Vorsicht: Das Tor-Netzwerk ist keine Freikarte für alberne Dinge im Internet, denn selbst wenn Sie es benutzen, sollten Sie nicht davon ausgehen, dass Sie völlig anonym sind.

    
Paulo Scardine 12.07.2012 02:07
quelle