Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision.

Von Sai Ashish Konchada
AktieTwitternAktieEmail

Das Scraping von HTML kann fummelig sein, stellen Sie also sicher, dass Sie diesen Prozess mit ein wenig Python-Übung verstehen.

Twitter ist eine der einflussreichsten Social-Media-Plattformen, die es je gab. Millionen von Menschen, darunter Spitzenpolitiker, Prominente und CEOs, nutzen die Plattform täglich, um ihre Gedanken auszutauschen.

Der Trend-Tab ist einer der besten Orte, um Echtzeit-Nachrichten und Stimmungen in den sozialen Medien zu erfahren. Sie können diese Daten analysieren und verwenden, um Markenwerbung zu planen, Kampagnen durchzuführen und den Umsatz um ein Vielfaches zu steigern. Aber wie bekommt man die zehn angesagtesten Hashtags auf Twitter?

Der Algorithmus-Erstellungsprozess

Der erste Schritt zum Erstellen eines Programms besteht darin, die Schritte zu notieren und zu verstehen, die zum Erstellen eines Twitter-Scrapers erforderlich sind. Sie sind:

instagram viewer

  1. Öffnen Sie Google Chrome.
  2. Besuchen Sie die Trendseite von Twitter.
  3. Sammeln Sie die Hashtags und den jeweiligen Seitenlink.
  4. Speichern Sie die Daten in einer Tabelle.

Dies dient als Algorithmus der Problemstellung.

Die Twitter-Webseite verstehen

Sie müssen wissen, wie eine Webseite ihre Daten auszeichnet, bevor Sie sie extrahieren können. Es hilft sehr, wenn Sie ein gutes Verständnis haben die HTML-Grundlagen und CSS.

Befolgen Sie diese Schritte, um herauszufinden, wie Twitter einen Trend-Hashtag und seine URL darstellt:

  1. Besuchen Die Trendseite von Twitter. Sie können auch zu navigieren Twitter.comErkundenIm Trend um es anzusehen.
  2. Untersuchen Sie die Hauptsäule mit Chrome-Entwicklungstools. Gehe zu Menü (3 Punkte)>Mehr Werkzeuge >Entwicklerwerkzeuge und bewegen Sie das Elementauswahlwerkzeug über den Trendbereich.
  3. Die Trendzeitachse ist a div mit einem Arie-Label Attribut, dessen Wert ist "Zeitleiste: Erkunden". Bewegen Sie den Mauszeiger über das Markup in der Elemente um die Seitenstruktur besser zu verstehen. Andere div speichert das angesagte Hashtag/Thema. Verwenden Sie dieses Div als Zähler und durchlaufen Sie alle Divs auf der Seite, die das Trendthema/Hashtag enthalten. Der Inhalt wird in a gespeichert Spanne oder ein paar Span-Elemente. Beobachten Sie die geöffnete Registerkarte und beachten Sie die Hierarchie. Sie können dies verwenden, um einen XPath-Ausdruck zu erstellen. Der XPath-Ausdruck für dieses spezifische Element lautet:
    '//div[@aria-label="Zeitleiste: Erkunden"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Iteriere und ziele auf div[3], div[4], div[5] usw. ab. Für die zehn besten Hashtags läuft der Zähler von 3 bis 13. Der verallgemeinerte XPath wird zu:
    //div[@aria-label="Zeitleiste: Erkunden"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Klicken Sie auf ein beliebiges Hashtag, um die URL seiner Seiten zu verstehen. Wenn Sie die URLs vergleichen, sollten Sie feststellen, dass sich nur der Abfrageparameter ändert, um mit dem Namen des Hashtags übereinzustimmen. Sie können diese Erkenntnis nutzen, um URLs zu erstellen, ohne sie tatsächlich zu extrahieren.

Dieses Projekt verwendet die folgenden Python-Module und -Tools:

1. Pandas-Modul

Du kannst Verwenden Sie die Pandas DataFrame-Klasse um die Hashtags und ihre jeweiligen Links in tabellarischer Form zu speichern. Dies ist hilfreich, wenn Sie diese Inhalte zu einer CSV-Datei hinzufügen möchten, die Sie extern freigeben können.

2. Zeitmodul

Verwenden Sie das Time-Modul, um dem Python-Programm eine Verzögerung hinzuzufügen, damit der Seiteninhalt vollständig geladen werden kann. Dieses Beispiel verwendet eine Verzögerung von 15 Sekunden, aber Sie können experimentieren und eine angemessene Verzögerung für Ihre Umstände auswählen.

3. Selen-Modul

Selenium kann den Prozess der Interaktion mit dem Web automatisieren. Sie können damit eine Instanz eines Webbrowsers steuern, die Trendseite öffnen und nach unten scrollen. Um Selenium in Ihrer Python-Umgebung zu installieren, öffnen Sie Ihre Terminal und ausführenpip Selen installieren.

4. Web-Treiber

Verwenden Sie einen Webtreiber in Kombination mit Selenium, um mit dem Browser zu interagieren. Je nach Browser, den Sie automatisieren möchten, stehen verschiedene Webtreiber zur Verfügung. Verwenden Sie für diesen Build den beliebten Google Chrome-Browser. So installieren Sie den Webtreiber für Chrome:

  1. Überprüfen Sie die Version des Browsers, den Sie verwenden, indem Sie die besuchen Speisekarte (3 Punkte) > Hilfe>Über Google Chrome.
  2. Beachten Sie die Version des Browsers; In diesem Fall ist es 106.0.5249.62.
  3. Gehen Sie zu Ihrem Terminal und Typ pip install chromedriver-binary==Versionsnummer:
    Pip Installieren Chromtreiber-binär==106.0.5249.62
    Wenn es keine passende Version gibt, zeigt pip Ihnen eine Liste der verfügbaren; Wählen Sie diejenige aus, die Ihrer Chrome-Version am nächsten kommt.

So bauen Sie den Twitter Scraper

Befolgen Sie diese Schritte, um Ihr Programm zu erstellen und Trend-Hashtags in Echtzeit zu erhalten. Darin finden Sie den kompletten Quellcode GitHub-Repository.

  1. Importieren Sie die erforderlichen Module in die Python-Umgebung.
    # Importieren der erforderlichen Module
    aus Selen importieren Webtreiber
    ausSelen.webdriver.gemeinsam.vonimportierenVon
    importieren chromedriver_binary
    importieren Zeit
    importieren Pandas als pd
  2. Erstellen Sie ein Objekt, um den ChromeDriver zu initialisieren, und starten Sie den Google Chrome-Browser mit dem Webtreiber. Chrom() Funktion.
    # Öffnen Sie den Google Chrome-Browser
    Browser = Webtreiber. Chrom()
  3. Öffnen Sie die Trendseite von Twitter, indem Sie ihre URL an die übergeben erhalten() Funktion.
    # Öffnen Sie die Trendseite von Twitter
    browser.get('https://twitter.com/explore/tabs/trending')
  4. Wenden Sie eine Verzögerung an, damit der Inhalt der Seite vollständig geladen wird.
    # Verzögerung für das Laden von Seiteninhalten
    Zeit.schlafen(15)
  5. Erstellen Sie eine leere Liste, um die Hashtags zu speichern, und deklarieren Sie eine Schleife, die von 3 bis 13 läuft, um die Variable im vorherigen XPath-Ausdruck abzugleichen.
    # Liste initialisieren, um Trendthemen und Hashtags zu speichern
    trending_topic_content=[]

    # Sammeln Sie Themen und Hashtags auf der Trendseite von Twitter
    für i im Bereich (3,13):

  6. Verwenden Sie die find_element() Funktion und übergeben Sie den XPath-Selektor, um die Trendthemen und Hashtags auf Twitter zu erhalten:
    XPath = f'//div[@aria-label="Zeitleiste: Erkunden"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    trending_topic = browser.find_element (von. XPATH, xpath)
    trending_topic_content.anhängen(Trendthema.Text)
  7. Erstellen Sie eine leere Liste, um alle URLs zu speichern, und deklarieren Sie eine Schleife, die alle Hashtags durchläuft.
    # URLs mit den gesammelten Hashtags erstellen
    urls=[]
    für i in trending_topic_content:
    Verwenden Sie den Slice-Operator, um das Hashtag wegzulassen, um seine URL zu erstellen, und ersetzen Sie Leerzeichen durch URL-Codierung. %20. Fügen Sie die Links der Liste hinzu.
    wenn ich.startswith("#"):
    ich = ich[1:]
    url='https://twitter.com/search? q=%23' + Ich + '&src=trend_click'
    anders:
    url = 'https://twitter.com/search? q=' + Ich + '&src=trend_click'
    url = url.replace("", "%20")
    URLs.anhängen(URL)
  8. Erstellen Sie ein Schlüssel-Wert-Paar-Wörterbuch mit Schlüsseln als Hashtags und Werten als URLs.
    # Erstellen Sie ein Wörterbuch, das sowohl den Hashtag als auch die URLs enthält
    dic={'Hashtag':trending_topic_content,'URL':urls}
  9. Konvertieren Sie das unstrukturierte Wörterbuch in einen tabellarischen DataFrame.
    # Konvertiere das Wörterbuch in einen Datenrahmen in Pandas
    df=pd. Datenrahmen (dic)
    drucken(df)
  10. Speichern Sie den DataFrame in einer CSV-Datei, die Sie in Microsoft Excel anzeigen oder weiterverarbeiten können.
    # Konvertieren Sie den Datenrahmen in das Format "Comma Separated Value" ohne Seriennummern
    df.to_csv("Twitter_HashTags.csv",Index=Falsch)

Gewinnen Sie wertvolle Erkenntnisse mit Web Scraping

Web Scraping ist eine leistungsstarke Methode, um gewünschte Daten zu erhalten und sie zu analysieren, um Entscheidungen zu treffen. Beautiful Soup ist eine beeindruckende Bibliothek, die Sie installieren und verwenden können, um Daten aus jeder HTML- oder XML-Datei mit Python zu kratzen.

Damit können Sie das Internet durchsuchen, um Schlagzeilen, Produktpreise, Sportergebnisse, Aktienwerte und mehr in Echtzeit zu erhalten.

Kratzen Sie eine Website mit diesem wunderschönen Suppenpython-Tutorial

Lesen Sie weiter

AktieTwitternAktieEmail

Verwandte Themen

  • Programmierung
  • Programmierung
  • Python
  • Web Entwicklung
  • Web-Scraping
  • Twitter

Über den Autor

Sai Ashish Konchada (3 veröffentlichte Artikel)

Sai Ashish ist ein Full-Stack-Entwickler mit Branchenerfahrung beim Erstellen von Websites und Webanwendungen. Er liebt es, innovative Produkte zu entwickeln und aufschlussreiche Artikel über Programmierung zu schreiben.

Mehr von Sai Ashish Konchada

Kommentar

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden

Auf dem Draht

gerade angesagt