Ich habe mich für das Scraping entschieden und versucht, den Browser mit Selenium zu betreiben, daher werde ich es kurz zusammenfassen.
Um den Browser zu bedienen, muss für jeden Browser ein Treiber vorbereitet werden. Da wir dieses Mal Chrome verwenden, laden Sie ChromeDriver von der [offiziellen Website] herunter (http://www.seleniumhq.org/projects/webdriver/).
Installieren Sie Selen mit Pip
pip install selenium
Browser öffnen
webdriver.Chrome(driver_path)
Webseite öffnen
#### **`driver.get(URL)`**
```get(URL)
Webseite schließen
#### **`driver.close()`**
```close()
Beenden Sie den Browser (schließen Sie alle Fenster)
#### **`driver.quit()`**
```quit()
``` python
from selenium import webdriver
driver = webdriver.Chrome(driver_path)
driver.get(URL)
driver.close()
driver.quit()
Um auf das HTML-Element zuzugreifen, können Sie das Element aus ID, Klasse, Name usw. angeben und abrufen.
Holen Sie sich durch ID
driver.find_element_by_id('ID')
Holen Sie sich nach Klasse
#### **`driver.find_element_by_class_name('CLASS_NAME')`**
```find_element_by_class_name('CLASS_NAME')
Holen Sie sich mit Namen
#### **`driver.find_element_by_name('NAME')`**
```find_element_by_name('NAME')
Holen Sie sich mit Link-Text
#### **`driver.find_elements_by_link_text('LINK_TEXT')`**
```find_elements_by_link_text('LINK_TEXT')
Erhalten Sie verschachtelte Elemente, indem Sie den Pfad angeben
#### **`driver.find_elements_by_xpath(".//a")`**
Betreiben Sie die Webseite, indem Sie auf das erfasste Element reagieren.
Drück den Knopf
driver.find_element_by_id('Btn').click()
Geben Sie Zeichen in das Formular ein
#### **` driver.find_element_by_name('From').send_keys("text") `**
Oft wird der Prozess ausgeführt und es tritt ein Fehler auf, bevor der Bildschirm vollständig geladen wurde. Sie können einige Sekunden warten, bis die erforderlichen Elemente vorhanden sind.
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
WebDriverWait(driver, WAIT_SECOND).until(EC.presence_of_element_located((By.CLASS_NAME, 'Btn')))
Lassen Sie es uns leicht basierend auf den oben genannten betreiben.
Zum Beispiel, wenn Sie auf einer bestimmten Site auf die Schaltfläche "Kaufen" klicken möchten
from selenium import webdriver
driver = webdriver.Chrome(driver_path)
driver.get(URL)
driver.find_element_by_class_name('new_addToCart').click()
driver.quit()
Auf diese Weise ruft find_element_by_class_name () das Element ab und click () bewirkt die Klickaktion.
Geben Sie ein Suchwort in das Suchfeld ein und drücken Sie die Suchtaste.
from selenium import webdriver
driver = webdriver.Chrome(driver_path)
driver.get(URL)
driver.find_element_by_id('searchWords').send_keys("search text")
driver.find_element_by_id('searchBtn').click()
Dadurch wird automatisch "Suchtext" in das Suchfeld eingegeben und gesucht.
Wenn Sie die grundlegenden Vorgänge wie das Drücken von Tasten und das Eingeben von Text lernen, haben Sie den Eindruck, dass die meisten Vorgänge einfach sind. Schließlich ist der Vorteil der Parallelverarbeitung durch die programmgesteuerte Ausführung von Browseroperationen groß. Wenn Sie jedoch viele Browser starten, wird Ihr PC extrem schwer, daher müssen Sie vorsichtig sein.
Recommended Posts