[PYTHON] In 100 Tagen sind Sie Ingenieur. ――Tag 75 ――Programmieren ――Über das Schaben 6

Klicken Sie hier bis gestern

Sie werden Ingenieur in 100 Tagen - Tag 70 - Programmieren - Über Scraping

Sie werden in 100 Tagen Ingenieur - Tag 66 - Programmierung - Über die Verarbeitung natürlicher Sprache

Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Über Wahrscheinlichkeit 1

Sie werden in 100 Tagen Ingenieur - Tag 59 - Programmierung - Über Algorithmen

Sie werden in 100 Tagen Ingenieur --- Tag 53 - Git - Über Git

Sie werden in 100 Tagen Ingenieur - Tag 42 - Cloud - Über Cloud-Dienste

Sie werden in 100 Tagen Ingenieur - Tag 36 - Datenbank - Über die Datenbank

Sie werden Ingenieur in 100-Tage-24-Python-Grundlagen der Python-Sprache 1

Sie werden in 100 Tagen Ingenieur - Tag 18 - JavaScript - Grundlagen von JavaScript 1

Sie werden in 100 Tagen Ingenieur - 14. Tag - CSS - CSS-Grundlagen 1

Sie werden in 100 Tagen Ingenieur - Tag 6 - HTML - HTML-Grundlagen 1

Diese Zeit ist auch eine Fortsetzung des Schabens.

Wenn Sie die Installation von Selen abgeschlossen haben, können Sie fortfahren.

Wie man Selen bedient

Selen laden

Laden Sie die Bibliothek. Vorausgesetzt, Google Chrome wird ausgeführt ...

from selenium import webdriver

#Treibereinstellungen
chromedriver = "Vollausweis des Fahrers"
driver = webdriver.Chrome(executable_path=chromedriver)

Ich denke, dass das Speicherziel des WEB-Treibers für jede Person unterschiedlich ist. Schreiben Sie es daher bitte neu. Auf diese Weise können Sie Google Chrome starten.

スクリーンショット 2020-06-03 18.04.12.png

Wenn Sie eine Fehlermeldung erhalten, müssen Sie den WEB-Treiber und die Chrome-Version abgleichen. Möglicherweise müssen Sie auch Berechtigungen festlegen, damit der WEB-Treiber ausgeführt werden kann. Überprüfen Sie daher die Fehlerdetails und ergreifen Sie die entsprechenden Maßnahmen.

Zu diesem Zeitpunkt können Sie den Browser bedienen und verschiedene Vorgänge ausführen.

Sobald Sie den Browser öffnen, bleibt er geöffnet, bis Sie ihn schließen. Vergessen Sie nicht, es fallen zu lassen, da das Öffnen in großer Anzahl Ressourcen verbraucht.

Sie können es auch im "Headerless" -Modus öffnen, wenn Sie Selen verwenden. Der "Headerless" -Modus ist ein Mechanismus, der den Browser hinter die Kulissen bewegt, ohne ihn sichtbar zu starten.

Dies ist ein sehr praktischer Modus, da dadurch Ressourcen gespart werden und Sie Selenium auf Linux-Servern verwenden können.

Erstellen Sie zum Schreiben eine Variable, um die Einstellung "Option" des Browsers hinzuzufügen Fügen Sie die Einstellung "headerless" hinzu und fügen Sie sie dem Argument der WEB-Treiberaufrufmethode hinzu.

Option variable = webdriver.ChromeOptions () Optionale Variable .add_argument ('--headless') Treibervariable = webdriver.Chrome (options = option variable)

from selenium import webdriver

#Treibereinstellungen
chromedriver = "Vollausweis des Fahrers"

#Optionseinstellung
options = webdriver.ChromeOptions()
options.add_argument('--headless')
#Fahreranruf
driver = webdriver.Chrome(executable_path=chromedriver,
options=options)

Greifen Sie mit Selen auf die Website zu

Wir werden mit den Variablen arbeiten, wenn Selen aufgerufen wird. Da wir es früher mit dem Variablennamen "Treiber" aufgerufen haben, werden wir es von nun an als "Treibervariable" bezeichnen.

Zugriff auf die Website

Treibervariable .get (URL)

Geben Sie zur Ausführung ein.

driver.get(URL)

Gehen wir als Testversion zu meiner HP.

driver.get('http://www.otupy.net')
スクリーンショット 2020-06-03 18.20.24.png

Sie können die URL eingeben, um bei jeder Ausführung auf die Site zuzugreifen. Es wird einige Zeit dauern, bis alle Websites angezeigt werden. Warten Sie daher eine Weile, bevor Sie weitere Vorgänge ausführen.

Scrollen Sie innerhalb der Site

Sie können innerhalb der Site scrollen, indem Sie Javascript ausführen. Sie können ein Skript mit "execute_script" eingeben.

Treibervariable .execute_script (Javascript)

Geben Sie für den Javascript-Teil das Skript als Zeichen ein window.scrollBy (0, Y) und window.scrollTo (0, Y) Verwenden Sie diese Option, um die Bildlaufposition zu bestimmen.

window.scrollBy (0, window.innerHeight); für eine Seite

Wenn Sie window.scrollTo (0, document.body.scrollHeight); angeben, können Sie nach unten scrollen.

Lass uns scrollen.

#Scrolle ein wenig
driver.execute_script("window.scrollBy(0, window.innerHeight);")

#Scrollen Sie nach unten
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Jetzt können Sie den Browser scrollen.

Finde das Element

Um mit Ihrer Site arbeiten zu können, müssen Sie das Element finden, in dem Sie arbeiten möchten. Sie können auf der Site nach Elementen suchen, z. B. nach Eingabe-Orchideen.

Es gibt viele Möglichkeiten, ein Element zu finden Treibervariable .find_element_by_XXXX Sie können mit der Methode nach dem Wert jedes Attributs suchen.

Wenn ein Element gefunden wird, wird es als Datentyp namens "WebElement" extrahiert.

** Suche nach ID-Attribut **

Treibervariable .find_element_by_id (Wert des ID-Attributs)

** Suche nach Namensattribut **

Treibervariable .find_element_by_name (Wert des Namensattributs)

** Suche nach Klassennamen **

Treibervariable .find_element_by_class_name (Klassenname)

** Verlinke den Namen **

Treibervariable .find_element_by_tag_name (tag name)

** Suche nach link_text **

Treibervariable .find_element_by_link_text (Wert von link_text)

CSS_Selector

Treibervariable .find_element_by_css_selector (Wert von css_selector)

xpath

Treibervariable .find_element_by_xpath (Wert von xpath)

Elemente bearbeiten

Sie müssen zuerst das Element finden, um damit arbeiten zu können. Wenn Sie ein Element mit der obigen Methode finden, weisen Sie es der "Elementvariablen" zu, und Sie können die folgenden Operationen ausführen.

Elementvariable .find_element_by_XXXX () Elementvariable. Operationsmethode

** Klicken Sie auf ein Element **

Elementvariable .click ()

** Geben Sie Zeichen in das Element ein **

Elementvariable .send_keys (Zeichen)

** Tasteneingabe mit Element **

Laden Sie zuerst die "Keys" -Bibliothek.


from selenium.webdriver.common.keys import Keys

Suchen Sie dann das Element und geben Sie den Schlüssel mit "send_keys" ein.

Elementvariable .send_keys (Schlüssel. Sonderschlüssel)

Folgende Schlüssel können behandelt werden.

Schlüssel Keys
Enter-Taste Keys.ENTER
Alt "Taste(Kombiniert mit normalem Schlüssel) Keys.ALT,"Schlüssel"
← Taste Keys.LEFT
→ Taste Keys.RIGHT
↑ Taste Keys.UP
↓ Taste Keys.DOWN
Strg-Taste(Kombiniert mit normalem Schlüssel) Keys.CONTROL,"Schlüssel"
Schlüssel löschen Keys.DELETE
HOME-Schlüssel Keys.HOME
END-Taste Keys.END
ESCAPE-Schlüssel Keys.ESCAPE
gleich Keys.EQUALS
BEFEHLSTASTE Keys.COMMAND
F1-Taste Keys.F1
shift Taste(Kombiniert mit normalem Schlüssel) Keys.SHIFT,"Schlüssel"
Bild-ab-Taste Keys.PAGE_DOWN
Bild-auf-Taste Keys.PAGE_UP
Leertaste Keys.SPACE
Eingabetaste Keys.RETURN
Tab-Taste Keys.TAB

Extrahieren Sie den Quellcode der Seite

Sie können den Quellcode der Seite als Zeichenfolge abrufen.

Treibervariable .page_source

driver.page_source

Nach der Erfassung kann die Analyse mit einer Bibliothek wie "BeautifulSoup" durchgeführt werden.

Zusammenfassung

Mit Selen, mit normalen Schabetechniken Dies ist praktisch, da Sie leicht Informationen erhalten können, die nicht abgerufen werden können.

Wenn Sie Probleme beim Abrufen von Daten haben, versuchen Sie es mit Selen. Wenn Sie dies tun können, erhalten Sie überwältigende Daten.

25 Tage, bis Sie Ingenieur werden

Informationen zum Autor

HP von Otsu py: http://www.otupy.net/

Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter: https://twitter.com/otupython

Recommended Posts

In 100 Tagen sind Sie Ingenieur. ――Tag 71 ――Programmieren ――Über das Schaben 2
In 100 Tagen sind Sie Ingenieur. ――Tag 74 ――Programmieren ――Über das Schaben 5
In 100 Tagen sind Sie Ingenieur. ――Tag 73 ――Programmieren ――Über das Schaben 4
In 100 Tagen sind Sie Ingenieur. ――Tag 75 ――Programmieren ――Über das Schaben 6
In 100 Tagen sind Sie Ingenieur. ――Tag 70 ――Programmieren ――Über das Schaben
In 100 Tagen sind Sie Ingenieur. ――Tag 68 ――Programmieren ――Über TF-IDF
In 100 Tagen sind Sie Ingenieur. ――Tag 81 ――Programmieren ――Über maschinelles Lernen 6
In 100 Tagen sind Sie Ingenieur. ――Tag 82 ――Programmieren ――Über maschinelles Lernen 7
In 100 Tagen sind Sie Ingenieur. ――Tag 79 ――Programmieren ――Über maschinelles Lernen 4
In 100 Tagen sind Sie Ingenieur. ――Tag 76 ――Programmieren ――Über maschinelles Lernen
In 100 Tagen sind Sie Ingenieur. ――Tag 80 ――Programmieren ――Über maschinelles Lernen 5
Sie werden in 100 Tagen Ingenieur. ――Tag 84 ――Programmieren ――Über maschinelles Lernen 9
In 100 Tagen sind Sie Ingenieur. ――Tag 83 ――Programmieren ――Über maschinelles Lernen 8
In 100 Tagen sind Sie Ingenieur. ――Tag 77 ――Programmieren ――Über maschinelles Lernen 2
In 100 Tagen sind Sie Ingenieur. ――Tag 85 ――Programmieren ――Über maschinelles Lernen 10
Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Wahrscheinlichkeit 1
Sie werden in 100 Tagen Ingenieur. ――Tag 65 ――Programmieren ――Über Wahrscheinlichkeit 3
Sie werden in 100 Tagen Ingenieur. ――Tag 64 ――Programmieren ――Über Wahrscheinlichkeit 2
Sie werden in 100 Tagen Ingenieur - Tag 86 - Datenbank - Über Hadoop
In 100 Tagen sind Sie Ingenieur. ――Tag 60 ――Programmieren ――Über Datenstruktur und Sortieralgorithmus
Sie werden in 100 Tagen Ingenieur - 27. Tag - Python - Python-Übung 1
Sie werden in 100 Tagen Ingenieur - Tag 34 - Python - Python-Übung 3
Sie werden in 100 Tagen Ingenieur. ――Tag 67 ――Programmieren ――Über morphologische Analyse
Sie werden in 100 Tagen Ingenieur. ――Tag 24 ―― Python ―― Grundlagen der Python-Sprache 1
Sie werden in 100 Tagen Ingenieur. ――Tag 30 ―― Python ―― Grundlagen der Python-Sprache 6
Sie werden in 100 Tagen Ingenieur. ――Tag 25 ―― Python ―― Grundlagen der Python-Sprache 2
Sie werden in 100 Tagen Ingenieur - 29. Tag - Python - Grundlagen der Python-Sprache 5
Sie werden in 100 Tagen Ingenieur - Tag 33 - Python - Grundlagen der Python-Sprache 8
Sie werden in 100 Tagen Ingenieur - 26. Tag - Python - Grundlagen der Python-Sprache 3
Sie werden in 100 Tagen Ingenieur - Tag 35 - Python - Was Sie mit Python tun können
Sie werden in 100 Tagen Ingenieur - Tag 32 - Python - Grundlagen der Python-Sprache 7
Sie werden in 100 Tagen Ingenieur - 28. Tag - Python - Grundlagen der Python-Sprache 4
Wenn beim Python-Scraping ein Fehler auftritt (Anforderungen)
Sie müssen vorsichtig mit den Befehlen sein, die Sie jeden Tag in der Produktionsumgebung verwenden.
Was Anfänger über das Programmieren im Jahr 2016 denken