
Durchsuchen und Extrahieren von (regulären oder Onion-)Webseiten über das TOR-Netzwerk
Es kombiniert Benutzerfreundlichkeit mit den robusten Datenschutzfunktionen von Tor und ermöglicht so eine sichere und nicht rückverfolgbare Datenerfassung. Ideal sowohl für Anfänger als auch für erfahrene Programmierer ist dieses Tool unverzichtbar für eine verantwortungsvolle Datenerhebung im digitalen Zeitalter.
[![Release][release-version-shield]][releases-link] [![Last Commit][last-commit-shield]][commit-link] ![Python][python-version-shield] [![Quality Gate Status][quality-gate-shield]][quality-gate-link] [![license][license-shield]][license-link]
Wenn Sie ein Terminal-Fanatiker sind, wissen Sie, dass die Dinge einfach und klar sein müssen. Die Ausgabe an andere Tools weiterzugeben ist notwendig, und Genauigkeit ist der Schlüssel.
Mit einem einzigen Argument können Sie eine .onion-Webseite oder eine reguläre Webseite über das TOR-Netzwerk lesen, und mithilfe von Pipes können Sie die Ausgabe an jedes andere Tool Ihrer Wahl weitergeben.
$ torcrawl -u http://www.github.com/ | grep 'google-analytics'
<meta-name="google-analytics" content="UA-XXXXXX- ">
Wenn Sie die Links einer Webseite crawlen möchten, verwenden Sie -c und BAM, schon haben Sie alle internen Links in einer Datei. Sie können sogar -d verwenden, um sie zu crawlen, und so weiter. Sie können auch das Argument -p verwenden, um einige Sekunden vor dem nächsten Crawl zu warten.
$ torcrawl -v -u http://www.github.com/ -c -d 2 -p 2
# TOR is ready!
# URL: http://www.github.com/
# Your IP: XXX.XXX.XXX.XXX
# Crawler started from http://www.github.com/ with 2 depth crawl and 2 second(s) delay:
# Step 1 completed with: 11 results
# Step 2 completed with: 112 results
# File created on /path/to/project/links.txt
[!TIP]
Crawling ist nicht illegal, aber Urheberrechtsverletzungen zu begehen ist es. Es ist immer am besten, die AGB einer Website zu überprüfen, bevor man mit dem Crawlen beginnt. Einige Websites richten eine sogenannterobots.txtein, um Crawler anzuweisen, diese Seiten nicht zu besuchen.
Dieser Crawler wird es Ihnen ermöglichen, dies zu umgehen, aber wir empfehlen immer, robots.txt zu respektieren.
pip install torcrawlgit clone https://github.com/MikeMeliz/TorCrawl.py.gitpip install -r requirements.txtapt-get install torservice tor starttor.exe][tor-download] herunter, und:tor.exe --service installtor.exe --service startbrew install torbrew services start tor| arg | Lang | Beschreibung |
|---|---|---|
| Allgemein: | ||
| -h | --help | Hilfemeldung |
| -v | --verbose | Mehr Informationen über den Fortschritt anzeigen |
| -u | --url *.onion | URL der zu crawlenden oder zu extrahierenden Webseite |
| -w | --without | Ohne Verwendung des TOR-Netzwerks |
| -rua | --random-ua | Zufällige User-Agent-Rotation für Anfragen aktivieren |
| -rpr | --random-proxy | Zufällige Proxy-Rotation aus res/proxies.txt aktivieren (erfordert -w-Flag, ein Proxy pro Zeile, Format: host:port) |
| -px | --proxy | IP-Adresse für SOCKS5-Proxy (Standard: 127.0.0.1 für die Verwendung von TOR) |
| -pr | --proxyport | Port für SOCKS5-Proxy (Standard: 9050) |
| -f | --folder | Das Verzeichnis, das die generierten Dateien enthalten wird |
| -V | --version | Version anzeigen und beenden |
| Extrahieren: | ||
| -e | --extract | Code der Seite ins Terminal oder in eine Datei extrahieren (Standard: Terminal) |
| -i | --input filename | Eingabedatei mit URL(s) (durch Zeilen getrennt) |
| -o | --output [filename] | Seite(n) in Datei(en) ausgeben (für eine Seite) |
| -y | --yara | Yara-Schlagwortsuche durchführen: h = gesamtes HTML-Objekt durchsuchen, t = nur Text durchsuchen |
| Crawlen: | ||
| -c | --crawl | Website crawlen (Standardausgabe in website/links.txt) |
| -d | --depth | Tiefe der Crawler-Reise festlegen (Standard: 1) |
| -p | --pause | Sekunden Pause zwischen Anfragen (Standard: 0) |
| -j | --json | Crawl-Ergebnisse zusätzlich zu txt-Ausgaben als JSON exportieren |
| -x | --xml | Crawl-Ergebnisse zusätzlich zu txt-Ausgaben als XML exportieren |
| -DB | --database | Crawl-Ergebnisse und Link-Graph in SQLite-Datenbank exportieren |
| -vis | --visualization | HTML-Visualisierung aus SQLite-Datenbank generieren (erfordert -DB) |
| -l | --log | Protokolldatei mit besuchten URLs und deren Antwortcode |
Um nur eine einzelne Webseite ins Terminal zu extrahieren:
$ python torcrawl.py -u http://www.github.com
<!DOCTYPE html>
...
</html>
Extrahieren Sie in eine Datei (github.htm) ohne die Verwendung von TOR:
$ python torcrawl.py -w -u http://www.github.com -o github.htm
## File created on /script/path/github.htm
Extrahieren Sie es im Terminal und suchen Sie nur nach der Zeile mit google-analytics:
$ python torcrawl.py -u http://www.github.com | grep 'google-analytics'
<meta name="google-analytics" content="UA-*******-*">
Extrahieren Sie in eine Datei und finden Sie nur die Zeile mit google-analytics mit yara:
$ python torcrawl.py -v -w -u https://github.com -e -y 0
...
Hinweis: Aktualisieren Sie res/keyword.yar, um nach anderen Schlüsselwörtern zu suchen.
Verwenden Sie -y 0 für die Suche im rohen HTML und -y 1 nur für die Textsuche.
Extrahieren Sie eine Reihe von Webseiten (aus einer Datei importiert) ins Terminal: