: Warnung: In diesem Artikel wird nicht empfohlen, mit Tor zu kratzen.
Scraping ist grundsätzlich in Ordnung, aber Sie können sich schuldig machen, wenn dies durch die Nutzungsbedingungen der Zielwebsite verboten ist oder wenn Sie den Server der Zielwebsite überlasten.
Es ist eine Technologie zur Anonymisierung der Verbindungsroute. Theoretisch ist es beim Zugriff mit Tor schwierig zu bestimmen, wer darauf zugegriffen hat.
Homebrew 2.2.4
pip 20.0.2
Python 3.7.3
Lassen Sie uns zunächst die globale IP-Adresse ohne Tor überprüfen. Die globale IP-Adresse lautet hier. Wenn Sie Tor verwenden, können Sie den HTML-Code von hier abrufen. Du kannst nachschauen.
Es verwendet Beautiful Soup, also installieren Sie es bitte.
#Installieren Sie beautifulsoup4 mit pip
$ pip install beautifulsoup4
#Bestätigung
$ pip list | grep beautifulsoup4
beautifulsoup4 4.7.1
import urllib.request, urllib.error
from bs4 import BeautifulSoup
#Gibt HTML von der URL zurück
def fetch_html(url):
res = urllib.request.urlopen(url)
return BeautifulSoup(res, 'html.parser')
#Gibt die aktuelle globale IP-Adresse zurück
def get_ip_addr():
html = fetch_html('http://checkip.dyndns.com/')
return html.body.text.split(': ')[1]
#Gibt zurück, wenn Sie Tor verwenden
def check_use_tor():
html = fetch_html('https://check.torproject.org/')
return html.find('h1')['class'][0] != 'off'
print('You are using tor.' if check_use_tor() else 'You are not using tor.')
print('Current IP address is ' + get_ip_addr())
Ausführungsergebnis
You are not using tor.
Current IP address is XXX.XXX.XX.XXX
Wenn Sie MacOS verwenden, können Sie es mit Homebrew installieren. Ich benutze auch "Brew Services Start", um es als Daemon zu starten.
$ brew install tor
$ brew services start tor
#Bestätigung
$ tor --version
Tor version 0.4.2.6.
$ brew services list | grep tor
tor started your_name /Users/your_name/Library/LaunchAgents/homebrew.mxcl.tor.plist
Führen Sie den folgenden Befehl aus, um Tor zu stoppen oder neu zu starten.
$ brew services stop tor
$ brew services reload tor
Obwohl in diesem Artikel nicht erwähnt, lautet die Konfigurationsdatei "/ usr / local / etc / tor / torc".
Es verwendet PySocks, also installieren Sie es bitte.
$ pip install PySocks
#Bestätigung
$ pip list | grep PySocks
PySocks 1.7.1
Tor verwendet socks 5: // localhost: 9050
als Proxy, also füge dem Code in ** 1 Folgendes hinzu: **:
import socks, socket
socks.set_default_proxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9050)
socket.socket = socks.socksocket
Ausführungsergebnis
You are using tor.
Current IP address is YY.YYY.YYY.YY
Stellen Sie sicher, dass die angezeigte globale IP-Adresse anders ist als bei der Ausführung auf ** 1. **. Die IP-Adresse bei Verwendung von Tor ändert sich in regelmäßigen Abständen.
Recommended Posts