1. Einleitung Ich möchte Selenium verwenden, um Daten von einer Website zu scrapen, aber manchmal treten bei der Verwendung von Phantomjs Fehler auf. Chrome verfügt jetzt auch über einen Headless-Betriebsmodus, sodass Phantomjs nicht mehr benötigt werden. Bei der Installation von Chrome auf dem Server sind jedoch einige Fehler aufgetreten. Hier ist eine Zusammenfassung des gesamten Installationsvorgangs 2. Installieren Sie Chrome auf Ubuntu # Installieren Sie Google Chrome # https://askubuntu.com/questions/79280/how-to-install-chrome-browser-properly-via-command-line sudo apt-get installiere libxss1 libappindicator1 libindicator7 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome*.deb # Könnte „Fehler“ anzeigen, behoben in der nächsten Zeile sudo apt-get install -f Es sollte jetzt installiert sein. Testen Sie es, indem Sie den folgenden Befehl ausführen:
Hier verwenden wir den Headless-Modus für Remote-Debugging. Die meisten Ubuntu-Rechner haben keine GPU, daher wird --disable-gpu verwendet, um Fehler zu vermeiden. Locken http://localhost:9222 Wenn die Installation erfolgreich war, werden Ihnen Debuginformationen angezeigt. Ich werde hier jedoch einen Fehler melden. Im Folgenden finden Sie die Lösung für den Fehler. 1) Mögliche Fehlerlösungen Nach dem Ausführen des obigen Befehls erhalten Sie möglicherweise eine Fehlermeldung, dass Chrome nicht als Root ausgeführt werden kann. Verwenden Sie derzeit die folgenden Einstellungen, um Chrome einzurichten 1. Suchen Sie die Google Chrome-Datei Mein Standort ist /opt/google/chrome/ 2. Öffnen Sie die Google Chrome-Datei mit vi
Gefunden in der Datei
3. Fügen Sie am Ende –user-data-dir –no-sandbox hinzu. Der gesamte Shell-Befehl lautet
4. Öffnen Sie Google Chrome erneut und Sie können normal darauf zugreifen! 3. Installieren Sie den Chrome-Treiber Chromedriver Chromedriver herunterladen Chromedriver bietet eine API für den Betrieb von Chrome und ist eine Brücke für Selenium zur Steuerung von Chrome. Am besten installieren Sie die neueste Version von Chromedriver. Ich erinnere mich, dass ich am Anfang nicht die neueste Version installiert habe und ein Fehler gemeldet wurde. Es gibt kein Problem mit der neuesten Version von Chromedriver. Die neueste Version finden Sie unter der folgenden Adresse Als ich diesen Artikel schrieb, war die neueste Version 2.37 wget https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip An diesem Punkt ist die serverseitige, schnittstellenfreie Version von Chrome installiert. 4. So verwenden Sie die Nicht-Schnittstellenversion von Chrome von Selenium importiere Webtreiber chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') chrome_options.add_argument("user-agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/62.0.3202.94 Safari/537.36'") wd = Webtreiber.Chrome (Chrome-Optionen = Chrome-Optionen, ausführbarer Pfad = „/home/Chrome/Chrome-Treiber“) wd.get("https://www.163.com") Inhalt = wd.page_source.encode('utf-8') Inhalt drucken wd.quit() Hier kann der dritte Einstellungsparameter in chrome_options verhindern, dass die Website erkennt, dass Sie den randlosen Modus zum Anti-Crawlen verwenden. Die anderen beiden Einstellungen unten öffnen Chrome mit einer Benutzeroberfläche auf dem Desktop-Linux-System oder Mac-System, wenn sie nicht festgelegt sind. Beim Debuggen können Sie die folgenden beiden Zeilen auskommentieren und Chrome mit einer Benutzeroberfläche zum Debuggen des Programms verwenden. chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') 5. Referenzen https://jiayi.space/post/zai-ubuntufu-wu-qi-shang-shi-yong-chrome-headless Zusammenfassen Dies ist das Ende dieses Artikels über Selenium+Chromedriver, der auf dem Server ausgeführt wird. Weitere Informationen über Selenium+Chromedriver, der auf dem Server ausgeführt wird, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So migrieren Sie den MySQL-Speicherort auf eine neue Festplatte
>>: JavaScript Canvas realisiert dynamische Punkt- und Linieneffekte
Ich habe eine halbe Stunde gebraucht, um den Code...
Grundlegendes Konzept: Funktionsprinzip von Macvl...
Installieren Sie den NVIDIA-Grafikkartentreiber u...
Inhaltsverzeichnis Vorwort SQL-Anweisungsoptimier...
Was ist ein Containerdatenvolumen? Wenn sich die ...
Von NFS bereitgestellte Dienste Mounten: Aktivier...
undefined Wenn wir in JavaScript feststellen möch...
Dateiübertragung zwischen Windows und Linux (1) V...
Beim Rendern von Markdown habe ich zuvor den Vors...
Anwendung von HTML und CSS in Flash: Ich habe zufä...
Erstellen Sie eine neue server.js Garn init -y Ga...
Inhaltsverzeichnis 1. Grundvoraussetzungen für di...
Innerhalb der Zeilen können die hellen Rahmenfarb...
Der META-Tag, umgangssprachlich auch als Tag beze...
1. Was sind benutzerdefinierte Hooks Wiederverwen...