Das Wichtigste zuerst: Erstellen wir ein neues Verzeichnis, in dem unsere Dateien gespeichert werden. Öffne anschließend das Projekt in deiner bevorzugten IDE (ich verwende Visual Studio Code) und öffne ein neues Terminal. Um ein neues Terminal in VSCode zu öffnen, gehe zu „Terminal > Neues Terminal“. Wir erstellen eine neue virtuelle Umgebung innerhalb des Projekts und aktivieren sie:
~ » python3 -m venv env && source env/bin/activate
Erstellen wir in Ihrem Projekt eine neue Datei „scraper.py“ und fügen wir etwas Code hinzu. Die grundlegende Struktur eines Scrapers mit Selenium aus der Perspektive der funktionalen Programmierung lautet:
from selenium import webdriver
def scrape_page(url):
driver = webdriver.Chrome()
driver.get(url)
return driver.page_source
Und das war’s schon. In 5 Zeilen Code:
- Wir starten einen automatisierten Browser
- Wir greifen auf unser Ziel zu
- Und wir sammeln dessen Ressourcen.
Aber denken Sie daran, dass wir ISP-Proxys mit Selenium verwenden wollen. Damit ist unser Browser zwar nicht der unauffälligste, aber sagen wir mal: schwerer zu entdecken. Glücklicherweise ist das in Python ganz einfach (und genau deshalb liebe ich es). So fügen wir Proxys in Selenium ein:
from selenium import webdriver
def scrape_page(url, proxy):
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=%s' % proxy)
driver = webdriver.Chrome(options=options)
driver.get(url)
return driver.page_source
print(scrape_page('http://httpbin.org/ip', '75.89.101.60:80'))
Wir haben lediglich weitere Zeilen innerhalb der Funktion hinzugefügt. Die letzte dient dazu, die Funktion aufzurufen. Wenn Sie das Skript jetzt ausführen, sollten wir wahrscheinlich sehen können, dass die Anfrage von 75.89.101.60 stammt. Für dieses Beispiel habe ich einen kostenlosen Proxy-Server von hier verwendet. Wenn du jedoch einen echten Scraper erstellen möchtest, empfehle ich dir, nach zuverlässigeren Quellen zu suchen. Vorzugsweise Proxy-Anbieter, die auch ISP-Proxys anbieten.