I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione.

Di Sai Ashish Konchada
CondividereTwittaCondividereE-mail

Raschiare l'HTML può essere complicato, quindi assicurati di comprendere questo processo con un po' di pratica di Python.

Twitter è una delle piattaforme di social media più influenti mai esistite. Milioni di persone, inclusi i migliori politici, celebrità e amministratori delegati, utilizzano la piattaforma per condividere i propri pensieri ogni giorno.

La scheda delle tendenze è uno dei posti migliori per scoprire notizie in tempo reale e il sentimento dei social media. Puoi analizzare e utilizzare questi dati per pianificare annunci pubblicitari del marchio, eseguire campagne e aumentare le vendite per piega. Ma come puoi ottenere i primi dieci hashtag di tendenza su Twitter?

Il processo di costruzione dell'algoritmo

Il primo passo per creare qualsiasi programma è annotare e comprendere i passaggi necessari per creare uno scraper di Twitter. Sono:

instagram viewer

  1. Apri Google Chrome.
  2. Visita la pagina di tendenza di Twitter.
  3. Raccogli gli hashtag e il rispettivo collegamento alla pagina.
  4. Salva i dati in un foglio di calcolo.

Questo serve come algoritmo della dichiarazione del problema.

Comprensione della pagina Web di Twitter

Devi sapere come una pagina web contrassegna i suoi dati prima di poterli estrarre. Aiuta molto se hai una buona comprensione di le basi dell'HTML e CSS.

Segui questi passaggi per capire come Twitter rappresenta un hashtag di tendenza e il suo URL:

  1. Visita La pagina di tendenza di Twitter. Puoi anche navigare verso Twitter.comEsplorareDi tendenza per vederlo.
  2. Ispeziona la colonna principale utilizzando Chrome Dev Tools. Vai a Menù (3 punti)>Altri strumenti >Strumenti di sviluppo e posiziona lo strumento di selezione degli elementi sull'area di tendenza.
  3. La linea temporale di tendenza è a div con un aria-etichetta attributo il cui valore è "Cronologia: Esplora". Passa il mouse sopra il markup nel file Elementi pannello per comprendere meglio la struttura della pagina. Un altro div memorizza l'hashtag/l'argomento di tendenza. Usa questo div come contatore e ripeti a tutti i div nella pagina contenente l'argomento/hashtag di tendenza. Il contenuto è memorizzato all'interno di un file span o un paio di elementi span. Osserva la scheda aperta e osserva la gerarchia. Puoi usarlo per costruire un'espressione XPath. L'espressione XPath per questo elemento specifico è:
    '//div[@aria-label="Cronologia: Esplora"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Itera e target div[3], div[4], div[5] e così via. Per i primi dieci hashtag, il contatore va da 3 a 13. L'XPath generalizzato diventa:
    //div[@aria-label="Cronologia: Esplora"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Fai clic su qualsiasi hashtag per comprendere l'URL delle sue pagine. Se confronti gli URL, dovresti notare che solo il parametro della query cambia per corrispondere al nome dell'hashtag. Puoi utilizzare queste informazioni per creare URL senza effettivamente estrarli.

Questo progetto utilizza i seguenti moduli e strumenti Python:

1. Modulo Panda

Puoi usa la classe Pandas DataFrame per memorizzare gli hashtag e i rispettivi link in formato tabellare. Questo sarà utile quando si tratta di aggiungere questi contenuti a un file CSV che puoi condividere esternamente.

2. Modulo Tempo

Utilizzare il modulo Time per aggiungere un ritardo al programma Python per consentire il caricamento completo del contenuto della pagina. Questo esempio utilizza un ritardo di 15 secondi, ma puoi sperimentare e scegliere un ritardo appropriato per le tue circostanze.

3. Modulo Selenio

Il selenio può automatizzare il processo di interazione con il web. Puoi usarlo per controllare un'istanza di un browser Web, aprire la pagina di tendenza e scorrere verso il basso. Per installare Selenium nel tuo ambiente Python, apri il tuo terminale ed eseguirepip installa il selenio.

4. Driver web

Usa un driver web in combinazione con Selenium per interagire con il browser. Sono disponibili diversi driver Web in base al browser che si desidera automatizzare. Per questa build, utilizza il popolare browser Google Chrome. Per installare il driver Web per Chrome:

  1. Verifica la versione del browser che stai utilizzando visitando il Menù (3 punti) > Aiuto>Informazioni su Google Chrome.
  2. Prendere nota della versione del browser; in questo caso, è 106.0.5249.62.
  3. Vai al tuo terminale e tipo pip installa chromedriver-binary==numero_versione:
    pippo installare chromedriver-binario==106.0.5249.62
    Se non c'è una versione corrispondente, pip ti mostrerà un elenco di quelli disponibili; scegli quello più vicino alla tua versione di Chrome.

Come costruire lo scraper di Twitter

Segui questi passaggi per creare il tuo programma e ottenere hashtag di tendenza in tempo reale. Puoi trovare il codice sorgente completo in questo Repository GitHub.

  1. Importa i moduli richiesti nell'ambiente Python.
    # importazione dei moduli richiesti
    da selenio importare webdriver
    daselenio.webdriver.comune.diimportareDi
    importare chromedriver_binary
    importare tempo
    importare panda COME pd
  2. Crea un oggetto per inizializzare ChromeDriver e avvia il browser Google Chrome utilizzando il file webdriver. Cromo() funzione.
    # apri il browser Google Chrome
    browser = driver web. Cromo()
  3. Apri la pagina di tendenza di Twitter passando il suo URL a Ottenere() funzione.
    # apri la pagina di tendenza di Twitter
    browser.get('https://twitter.com/explore/tabs/trending')
  4. Applica un ritardo in modo che i contenuti della pagina vengano caricati completamente.
    # ritardo per il caricamento del contenuto della pagina
    tempo.sonno(15)
  5. Crea un elenco vuoto per archiviare gli hashtag e dichiara un ciclo che va da 3 a 13 per abbinare la variabile nell'espressione XPath di prima.
    # inizializza l'elenco per memorizzare argomenti e hashtag di tendenza
    trending_topic_content=[]

    # raccogliere argomenti e hashtag sulla pagina di tendenza di Twitter
    per i nell'intervallo (3,13):

  6. Usa il trova_elemento() funzione e passare il selettore XPath per ottenere gli argomenti e gli hashtag di tendenza su Twitter:
    xpercorso = f'//div[@aria-label="Cronologia: Esplora"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    trending_topic = browser.find_element (di. XPATH, xpath)
    trending_topic_content.aggiungere(argomento di tendenza.testo)
  7. Crea un elenco vuoto per archiviare tutti gli URL e dichiara un ciclo che attraversa tutti gli hashtag.
    # crea URL utilizzando gli hashtag raccolti
    URL=[]
    per i in trending_topic_content:
    Usa l'operatore slice per omettere l'hashtag per creare il suo URL e sostituire gli spazi con la codifica dell'URL, %20. Aggiungere i collegamenti all'elenco.
    se i.iniziacon("#"):
    io = io[1:]
    URL='https://twitter.com/search? q=%23' + io + '&src=trend_click'
    altro:
    URL = 'https://twitter.com/search? q=' + io + '&src=trend_click'
    url = url.replace("", "%20")
    URL.aggiungere(URL)
  8. Crea un dizionario di coppie chiave-valore con chiavi come hashtag e valori come URL.
    # crea un dizionario che contenga sia l'hashtag che gli URL
    dic={'HashTag':trend_topic_content,'URL':url}
  9. Converti il ​​dizionario non strutturato in un DataFrame tabulare.
    # converte il dizionario in un dataframe in panda
    df=pd. DataFrame (dic)
    stampa(df)
  10. Salva il DataFrame in un file CSV che puoi visualizzare in Microsoft Excel o elaborare ulteriormente.
    # converte il dataframe nel formato Comma Separated Value senza numeri di serie
    df.to_csv("Twitter_HashTags.csv",indice=falso)

Ottieni informazioni preziose utilizzando il web scraping

Il web scraping è un metodo potente per ottenere i dati desiderati e analizzarli per prendere decisioni. Beautiful Soup è un'impressionante libreria che puoi installare e utilizzare per raccogliere dati da qualsiasi file HTML o XML utilizzando Python.

Con questo, puoi raschiare Internet per ottenere titoli di notizie in tempo reale, prezzi di prodotti, risultati sportivi, valore delle azioni e altro ancora.

Raschiare un sito Web con questo bellissimo tutorial di Python per zuppa

Leggi Avanti

CondividereTwittaCondividereE-mail

Argomenti correlati

  • Programmazione
  • Programmazione
  • Pitone
  • Sviluppo web
  • Raschiamento Web
  • Cinguettio

Circa l'autore

Sai Ashish Konchada (3 articoli pubblicati)

Sai Ashish è uno sviluppatore full stack con esperienza nel settore nella creazione di siti Web e applicazioni Web. Ama costruire prodotti innovativi e scrivere articoli penetranti sulla programmazione.

Altro da Sai Ashish Konchada

Commento

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti

Sul filo

in voga