CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】

Originalartikel

Hintergrund

Wenn ich etwas nachgeschlagen habe, wollte ich die Zusammenfassung, den Titel und die URL aus der Google-Suche abrufen, da die Google-Zusammenfassung Aufschluss darüber gibt, was ich nachschlagen möchte.

Zweck

Automatisieren Sie die Google-Suche, erhalten Sie Suchergebnisse, konvertieren Sie sie in CSV und geben Sie sie aus. Durch die Automatisierung können Sie den Suchaufwand reduzieren.

Anforderungsdefinition

  1. Automatischer Browserbetrieb
  2. Holen Sie sich den Titel, die Zusammenfassung und die URL aus den Suchergebnissen
  3. Geben Sie das erhaltene Ergebnis an CSV aus

Umgebung

Umwelt Bauweise

Das diesmal erstellte Programm basiert auf der 81-Version von Chrome. Stellen Sie daher die Chrome-Version auf 81 ein, bevor Sie das Programm ausführen. ↓ Das ist leicht zu verstehen. So überprüfen Sie die Version von Google Chrome

pip install selenium
pip install chromedriver_binary

Code tatsächlich geschrieben

import csv
import time  #Erforderlich, um Schlaf zu verwenden
from selenium import webdriver  #Betreiben Sie automatisch den Webbrowser (Python-m pip install selenium)
import chromedriver_binary  #Code zum Übergeben des Pfades

def ranking(driver):
    i = 1  #Definieren Sie die Schleifennummer und die Seitenzahl

    title_list = []  #Bereiten Sie eine leere Liste vor, um den Titel zu speichern
    link_list = []  #Bereiten Sie eine leere Liste vor, um die URL zu speichern
    summary_list = []
    RelatedKeywords = []

    #Schleife, bis die aktuelle Seite die angegebene maximale Analyseseite überschreitet
    while i <= i_max:
        #Titel und Link sind Klasse="r"Ist in
        class_group = driver.find_elements_by_class_name('r')
        class_group1 = driver.find_elements_by_class_name('s')
        class_group2 = driver.find_elements_by_class_name('nVcaUb')
        #For-Schleife, die Titel und Links extrahiert und zur Liste hinzufügt
        for elem in class_group:
            title_list.append(elem.find_element_by_class_name('LC20lb').text)  #Titel(class="LC20lb")
            link_list.append(elem.find_element_by_tag_name('a').get_attribute('href'))  #Verknüpfung(href-Attribut eines Tags)

        for elem in class_group1:
            summary_list.append(elem.find_element_by_class_name('st').text)  #Verknüpfung(href-Attribut eines Tags)

        for elem in class_group2:
            RelatedKeywords.append(elem.text)  #Verknüpfung(href-Attribut eines Tags)

        #Es gibt nur ein "Weiter", aber ich wage es, mehrere nach Elementen zu suchen. Eine leere Liste bedeutet die letzte Seite.
        if driver.find_elements_by_id('pnnext') == []:
            i = i_max + 1
        else:
            #Die URL der nächsten Seite lautet id="pnnext"Href-Attribut
            next_page = driver.find_element_by_id('pnnext').get_attribute('href')
            driver.get(next_page)  #Fahren Sie mit der nächsten Seite fort
            i = i + 1  #Update i
            time.sleep(3)  #Warten Sie 3 Sekunden

    return title_list, link_list, summary_list, RelatedKeywords  #Geben Sie eine Liste von Titeln und Links als Rückgabewert an



driver = webdriver.Chrome()  #Bereiten Sie Chrome vor

#Beispiel-HTML öffnen
driver.get('https://www.google.com/')  #Öffnen Sie Google
i_max = 5  #Definieren Sie bis zu wie viele Seiten analysiert werden sollen
search = driver.find_element_by_name('q')  #Suchfeld in HTML(name='q')Konkretisieren
search.send_keys('Scraping-Automatisierung"Python"')  #Suchwort senden
search.submit()  #Führen Sie eine Suche durch
time.sleep(1.5)  # 1.Warten Sie 5 Sekunden

#Führen Sie die Ranking-Funktion aus, um den Titel und die URL-Liste abzurufen
title, link, summary, RelatedKeywords = ranking(driver)


csv_list = [["Rangfolge", "Titel", "einpacken", "Verknüpfung", "Verwandte Schlüsselwörter"]]

for i in range(len(title)):
    add_list=[i+1,title[i],summary[i],link[i]]
    csv_list.append(add_list)

#Speichern Sie die Titelliste in CSV

with open('Search_word.csv','w',encoding="utf-8_sig") as f:
    writecsv = csv.writer(f, lineterminator='\n')
    writecsv.writerows(csv_list)

driver.quit()


Impressionen

Insgesamt konnte ich es in ca. 4 Stunden erstellen. Ich bin zufrieden, weil ich jetzt den Browser automatisch mit Selen bedienen und auch den Titel erhalten kann. Sie können es beim Schreiben eines Blogs verwenden!

Was ich tun kann

  1. Sie können das Dokument jetzt ohne Abneigung lesen
  2. Automatisierung der Google-Suche
  3. Ausgabe an CSV

Aufgabe

  1. Überprüfen Sie, wie die Liste bedient wird
  2. Machen Sie dies möglich, indem Sie Google Colab und Tabellenkalkulationen verknüpfen
  3. Ich möchte in der Lage sein, in der Tabelle zu suchen, wie in den letzten beiden Referenz-URLs gezeigt.
  4. Wenn sich der Name der HTML-Klasse ändert, ist dies nicht mehr möglich. Daher möchte ich in der Lage sein, Daten flexibel zu erfassen, auch wenn sich der Name der Klasse ändert.

Verweise

  1. Ich habe versucht, den Titel und die URL-Liste der Google-Suche mit Python zu extrahieren
  2. Locating Elements
  3. Eine Geschichte darüber, wie es schwierig ist, eine andere Datei als CP932 (Shift-JIS) zu öffnen, die unter Windows codiert ist
  4. Ich möchte in der Lage sein, in der Tabelle zu suchen, wie in den letzten beiden Referenz-URLs gezeigt.
  5. [Python] Was tun, wenn Sie die Google-Suchergebnisse [mit Kommentar] nicht kratzen können?
  6. [[Python]] CSV-Ausgabe von der Google-SucheEinfach](https://acfoapon.hatenablog.com/entry/2020/04/16/120000?_ga=2.113898116.2051319045.1587005144-1011829840.1582693178)

Nächste Implementierung

Bereiten Sie eine CSV-Liste vor und erstellen Sie ein Programm zum Lesen von Suchwörtern. Kombinieren Sie es mit dem diesmal erstellten Programm, um die Suche mit mehreren Suchwörtern zu vereinfachen. Außerdem können Daten mithilfe von Tabellenkalkulationen gespeichert werden.

Recommended Posts

CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】
Ausgabe in eine CSV-Datei mit Python
Python> Ausgaben von 1 bis 100, 501 bis 600> Für CSV
[Python] Laden Sie das Originalbild von der Google Bildsuche herunter
Sequentielle Suche mit Python
Lesen Sie JSON mit Python und geben Sie CSV aus
Generieren Sie mit Python eine Einfügeanweisung aus CSV.
Dichotomie mit Python
Dichotomie mit Python 3
Konvertieren Sie JSON mit Python von Splunk in CSV
Speichern Sie automatisch Bilder Ihrer Lieblingsfiguren aus der Google Bildsuche mit Python
[Python-Selen] CSV-Ausgabe Titel und URL nach dem Scraping der Google-Suchergebnisse
Einfache Möglichkeit, mit Google Colab mit Python zu kratzen
[Python-pptx] Gibt PowerPoint-Schriftinformationen mit Python in CSV aus
Entfernen Sie Überschriften aus CSV-Dateien mit mehreren Formaten mit Python
Lesen Sie CSV mit Python-Pandas
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Probieren Sie die Python-Ausgabe mit Haxe 3.2 aus
Lernen Sie Python mit Google Colaboratory
Einfache Ordnersynchronisation mit Python
Vollbit-Suche mit Python
Schreiben Sie mit Python in csv
Einfache Python-Kompilierung mit NUITKA-Utilities
Einfacher HTTP-Server mit Python
Greifen Sie mit Python auf Google Drive zu
Suchmaschinen arbeiten mit Python
Suche nach Twitter-Tweets mit Python
Mit Skype benachrichtigen Sie mit Skype von Python!
Laden Sie die CSV-Datei mit Python herunter
Optimieren Sie die Websuche mit Python
Hinweise zum Importieren von Daten aus MySQL oder CSV mit Python
Einfach mit nur Python! Geben Sie Graphviz-Zahlen im draw.io-Format aus!
Abrufen von Daten aus der Analyse-API mit Google API Client für Python
Ausgabe von Produktinformationen an csv mithilfe der Rakuten-Produktsuch-API [Python]
Rufen Sie C von Python mit DragonFFI auf
[Python] Einfache Parallelverarbeitung mit Joblib
Machen Sie Apache Log CSV mit Python
Verwenden von Rstan aus Python mit PypeR
[Python] Mit Python in eine CSV-Datei schreiben
Installieren Sie Python von der Quelle mit Ansible
Eingabe / Ausgabe mit Python (Python-Lernnotiz ⑤)
Verwenden Sie zwangsweise Google Translate aus Python
Einfache Python + OpenCV-Programmierung mit Canopy
[Hinweis] Hallo Weltausgabe mit Python
Unit Test Log Ausgabe mit Python
Einfache Mailübertragung mit Eile Python3
Führen Sie Aprili von Python auf Orange aus
Bayesianische Optimierung, die mit Python sehr einfach ist
Behandeln Sie Excel-CSV-Dateien mit Python
Rufen Sie Python von Nim mit Nimpy auf
Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Lesen und Schreiben von CSV mit Python
Einfache parallele Ausführung mit Python-Unterprozess
Laden Sie fbx aus Python mitinema4d
Verwenden Sie die Google Analytics-API von Python
Extrahieren Sie das Bigquery-Dataset und die Tabellenliste mit Python und geben Sie es in CSV aus