Zum Schaben von Webartikeln, die gegen Schaben sind Ich möchte mit dem Chrome-Treiber ohne Kopf mit Python kratzen
Über den Browsertreiber Kurz gesagt, es scheint ein notwendiges Werkzeug zu sein, um den Browser mit CUI anstelle von GUI zu handhaben.
Beziehung zwischen DNS-Server und lokalen Hosts Wenn wir über einen Browser vom Domänennamen aus zugreifen, werden die DNS-Server nach diesen Informationen gefragt, als IP-Adresse zurückgegeben und der PC verwendet sie, um auf die Website zuzugreifen, und die Website wird mit dem Browser angezeigt. Wenn Sie jedoch die Domäne und die IP-Adresse in die Hosts-Datei des Mac einfügen, können Sie die IP-Adresse abrufen, ohne eine Verbindung zum DNS-Server herzustellen.
Referenzartikel [Selenium- und Google-Tabellen (4) "Bis Sie Chrome Driver verwenden" (https://bitwave.showcase-tv.com/selenium%E3%81%A8google-spreadsheets4-%E3%80%8Cchrome-driver%E3 % 82% 92% E4% BD% BF% E3% 81% 84% E3% 81% AF% E3% 81% 98% E3% 82% 81% E3% 82% 8B% E3% 81% BE% E3% 81 % A7% E7% B7% A8% E3% 80% 8D /) Dieser Artikel über DNS-Server, [Abbildung] Was ist ein DNS-Server? Einstellen / Ändern und Überprüfen Dieser Artikel wird für Hosts-Dateien empfohlen. So schreiben / bearbeiten Sie Hosts-Dateien auf dem Mac neu! Was soll ich tun, wenn es nicht reflektiert wird?
Öffne die Datei.
$sudo vi /etc/hosts
Überprüfen Sie als Nächstes, ob der Inhalt der Hosts-Datei folgendermaßen aussieht.
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
Installieren Sie außerdem dieselbe Treiberversion wie die in der Anwendung enthaltene Chrome-Version von der Selenium-Site. (In meinem Fall war es 78.0.3904.97.) ChromeDriver - WebDriver for Chrome
# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
if __name__ == '__main__':
base = "Scraped Site URL"
options = Options()
#kopflose Bezeichnung
options.add_argument('--headless')
driver = webdriver.Chrome(executable_path='Absoluter Pfad zu dem Verzeichnis, in dem sich der Chrome-Treiber befindet', chrome_options=options)
driver.get(url)
#Kodieren
html = driver.page_source.encode('utf-8')
#Instanziierung
soup = BeautifulSoup(html, 'html.parser')
Normalerweise benutze ich urllib.request Es kann möglich sein, es zu lösen, indem dieses Selen für Stellen verwendet wird, die gegen Schaben sind !
Recommended Posts