Da es auf einer normalen Site viele Stellen gibt, an denen Sie Informationen mithilfe von HTML-Parametern abrufen können, verwenden Sie die Selenium IDE, eine Erweiterung von Firefix. Sie können Informationen einfach erhalten, indem Sie sie verwenden. Aspx-Sites enthalten jedoch Informationen in der Quelle, und es ist nicht möglich, Informationen nur mit den HTML-Parametern abzurufen. Also habe ich mich entschlossen, für (!) Aspx-Sites nicht zu stürzen, indem ich ein wenig mit der Quelle gespielt habe.
Mac OS Sierra wird als Ausführungsumgebung angenommen.
Führen Sie den folgenden Befehl vom Terminal aus.
pip install selenium bs4
brew install geckodriver
Hier verwenden wir die Selenium IDE. Notieren Sie das sich wiederholende Verhalten, das an der Site erwartet wird, die Sie mit Selenium IDE erhalten möchten. Dann wird der Befehl in der Tabelle angezeigt.
Wenn Sie den Befehl bestätigen können Wählen Sie hier die Sprache aus, die Sie exportieren und exportieren möchten. Die Quelle zu diesem Zeitpunkt wird angezeigt. Nach dem Speichern mit python2 / unittest / webdriver, wenn Sie die Quelle öffnen,
def test_<Titel gespeichert>(self):
Ich denke, dass es einen Teil gibt, aber hier wird die eigentliche Verarbeitung durchgeführt.
Es gibt einige iterative Prozesse im Fall von Python, aber im Grunde möchte ich die Seiten 1 bis 30 wiederholen, also verwende ich den Bereich. Wenn der Teil, den Sie wiederholen möchten, wie folgt lautet
- driver.find_element_by_link_text("page 1").click()
+ for i range(1, 30):
+ driver.find_element_by_link_text("page 1").click()
Setzen Sie for i range (1, 30):
vor die Stelle, an der Sie den wiederholten Satz in Form von wiederholen möchten, und rücken Sie nur die Stelle ein, die Sie wiederholen möchten.
Suchen Sie danach eine Zahl, die die Anzahl der Seiten wert ist, z. B. "Seite 1", und ändern Sie sie in "Seite" + str (i) + "".
Ich verwende das HTML-Formatierungswerkzeug, um die Seiteninformationen abzurufen, aber dieses Mal werde ich BeautifulSoup4 verwenden.
An die Spitze der Quelle
import unittest, time, re
+from bs4 import BeautifulSoup
Und zu dem Zeitpunkt, an dem Sie die Quelle veröffentlichen möchten
data = driver.page_source.encode('utf-8')
html = BeautifulSoup(data)
print(html.select("<Wähler>"))
Bitte einfügen.
Klicken Sie mit der rechten Maustaste auf das Ziel-HTML-Tag in dem Fenster, das unter "Elementüberprüfung" angezeigt wird, wenn Sie mit der rechten Maustaste auf den
Wählen Sie diesen CSS-Pfad und ersetzen Sie ihn durch
Jetzt können Sie loslegen. Öffnen Sie das Terminal
python <Dateiname>.py > test.html
Wenn test.html erstellt wird, ist dies erfolgreich.
Es war überhaupt nicht programmiert, also würde ich mich freuen, wenn mir jemand sagen könnte, der eine Methode ohne Plug-In kennt.
Recommended Posts