[Python-Selen] CSV-Ausgabe Titel und URL nach dem Scraping der Google-Suchergebnisse

Umgebung

macOS Catalina 10.15.3 Python 3.6.5

Überblick

Durchsuchen Sie Google mit einem beliebigen Wort und erhalten Sie eine Liste der Suchergebnisse mit einer beliebigen Anzahl von Seiten Titel und URL an csv ausgeben

Methode (Kopie OK)

# !python3
#Holen Sie sich den Titel und die URL der Google-Suchergebnisse und geben Sie csv aus

import time, chromedriver_binary, os, csv
from selenium import webdriver

output_path = "/Endgültiges CSV-Ausgabeverzeichnis
os.chdir(putput_path)                        

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

#Öffnen Sie HTML
driver.get("https://www.google.com/")       #Öffnen Sie Google
search = driver.find_element_by_name("q")   #Suchbox"q"Konkretisieren
search.send_keys(“xxx yyy zzz“)  #Suchwort senden
search.submit()                             #Führen Sie eine Suche durch
time.sleep(3)                               #Warten Sie 3 Sekunden

def ranking(driver):
    i = 1 #Fest auf 1
    i_max = 10 #Wie viele Seiten möchten Sie durchsuchen?
    title_list = []
    link_list = []

    #Schleife, bis die aktuelle Seite die angegebene maximale Analyseseite überschreitet(i_max)
    while i <= i_max:
        #Titel und Link sind Klasse="r"Ist in
        class_group = driver.find_elements_by_class_name("r")
        # class="r"Extrahieren Sie Titel und Links aus,For-Schleife zur Liste hinzufügen
        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 eines Tags)

        #Es gibt nur einen "Weiter" -Button, aber ich wage es, mehrere nach Elementen zu suchen.Wenn es sich um eine leere Liste handelt, bedeutet dies die letzte Seite.
        if driver.find_elements_by_id("pnnext") == []:
            i = i_max + 1   #Ohne die nächste Seite,Überschreitet gewaltsam die maximale Anzahl von Seiten und beendet die Schleife
        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)
            i = i + 1       #Gehen Sie die Seite durch
            time.sleep(3)   #3 Sekunden Pause,Wiederholen Sie diesen Vorgang bis zur angegebenen maximalen Seitenzahl
    return title_list, link_list 

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

#Mit csv ausspucken[[a,1],[b,2]]Erstellen Sie eine Liste wie
result = [list(row) for row in zip(title, link)]

#CSV-Ausgabe mit Ergebnis
with open("result.csv", mode="w", encoding="utf-8") as f:
    writer = csv.writer(f, lineterminator="\n")
    writer.writerows(result)

#Browser schließen
driver.quit()

Recommended Posts

[Python-Selen] CSV-Ausgabe Titel und URL nach dem Scraping der Google-Suchergebnisse
Scraping von Google News-Suchergebnissen in Python (2) Verwenden Sie Beautiful Soup
CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】
Suchen Sie rekursiv nach Dateien und Verzeichnissen in Python und geben Sie sie aus
Schaben mit Selen in Python
Scraping mit Selen in Python
[Python Scraping] Ich habe versucht, Google Search Top10 mit Beautifulsoup & Selenium
Scraping mit Selen in Python (Basic)
Scraping mit Python, Selen und Chromedriver
Exportieren und Ausgeben von Dateien in Python
Selen und Python zum Öffnen von Google
[Python-Scraping] Geben Sie die URL und den Titel der Site mit einem bestimmten Schlüsselwort in eine Textdatei ein
Dateneingabe / -ausgabe in Python (CSV, JSON)
[Python] Untersuchen Sie die Eigenschaften der Titel der Top-Websites in den Google-Suchergebnissen
Üben des Web-Scrapings mit Python und Selen
[Python] So benennen Sie Tabellendaten und geben sie mit csv aus (to_csv-Methode)
Ich habe versucht, Web-Scraping mit Python und Selen
Versuchen Sie, Google Chrome mit Python und Selenium auszuführen
Geschwindigkeitsbewertung der Ausgabe von CSV-Dateien in Python
CSV in Python
[Mac] Eine supereinfache Möglichkeit, Systembefehle in Python auszuführen und die Ergebnisse auszugeben
Verarbeitung von CSV-Daten in voller und halber Breite in Python
Implementieren Sie die Suche nach Tiefenpriorität (DFS) und die Suche nach Breitenpriorität (BFS) in Python
Dichotomie mit Python
Python-Eingabe und Ausgabe
Lineare Suche in Python
Japanische Ausgabe mit Python
Schaben mit Selen [Python]
Binäre Suche in Python
Ich habe versucht, mit Python Modebilder und Textsätze zu [kratzen].
Anwendung zum Anzeigen und Durchsuchen lokaler Memos (Tagebuch) in Python
In Python werden die Elemente in der Liste sortiert und als Elemente und Vielfache ausgegeben.
[Selenium] Ändern Sie das Protokollausgabeziel, wenn Sie Phantomjs mit Python3 ausführen
Google sucht mit Python nach der Zeichenfolge in der letzten Zeile der Datei
Ausgabe von Produktinformationen an csv mithilfe der Rakuten-Produktsuch-API [Python]