Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon.

Av Sai Ashish Konchada
DelekvitringDeleE-post

Å skrape HTML kan være vanskelig, så sørg for at du forstår denne prosessen med litt Python-øvelse.

Twitter er en av de mest innflytelsesrike sosiale medieplattformene som har eksistert. Millioner av mennesker, inkludert toppolitikere, kjendiser og administrerende direktører, bruker plattformen til å dele tankene sine hver dag.

Trending-fanen er et av de beste stedene for å finne ut sanntidsnyheter og sosiale medier. Du kan analysere og bruke disse dataene til å planlegge merkevareannonser, kjøre kampanjer og øke salget med fold. Men hvordan kan du få de ti mest populære hashtaggene på Twitter?

Algoritmebyggingsprosessen

Det første trinnet for å bygge et program er å merke seg og forstå trinnene som kreves for å bygge en Twitter-skrape. De er:

  1. Åpne Google Chrome.
  2. instagram viewer
  3. Besøk Twitters trendside.
  4. Samle hashtaggene og deres respektive sidekoblinger.
  5. Lagre dataene i et regneark.

Dette fungerer som algoritmen for problemformuleringen.

Forstå Twitter-nettsiden

Du må vite hvordan en nettside markerer dataene sine før du kan trekke dem ut. Det hjelper mye hvis du har god forståelse for det grunnleggende om HTML og CSS.

Følg disse trinnene for å finne ut hvordan Twitter representerer en populær hashtag og dens URL:

  1. Besøk Twitters trendside. Du kan også navigere til Twitter.comUtforskeTrender for å se den.
  2. Inspiser hovedkolonnen ved å bruke Chrome Dev Tools. Gå til Meny (3 prikker)>Flere verktøy >Utviklerverktøy og hold elementvelgerverktøyet over trendområdet.
  3. Den populære tidslinjen er en div med en aria-etikett attributt hvis verdi er "Tidslinje: Utforsk". Hold markøren over markeringen i Elementer panel for bedre å forstå sidestrukturen. En annen div lagrer den populære hashtaggen/emnet. Bruk denne div som en teller og iterer til alle divene på siden som inneholder trendemnet/hashtaggen. Innholdet lagres i en span eller et par spennelementer. Observer den åpne fanen og legg merke til hierarkiet. Du kan bruke dette til å konstruere et XPath-uttrykk. XPath-uttrykket for dette spesifikke elementet er:
    '//div[@aria-label="Tidslinje: Utforsk"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Iterer og mål div[3], div[4], div[5] og så videre. For de ti beste hashtaggene går telleren fra 3 til 13. Den generaliserte XPath blir:
    //div[@aria-label="Tidslinje: Utforsk"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Klikk på en hashtag for å forstå nettadressen til sidene. Hvis du sammenligner nettadressene, bør du legge merke til at bare søkeparameteren endres for å samsvare med navnet på hashtaggen. Du kan bruke denne innsikten til å bygge nettadresser uten å trekke dem ut.

Dette prosjektet bruker følgende Python-moduler og verktøy:

1. Panda-modul

Du kan bruk Pandas DataFrame-klassen å lagre hashtaggene og deres respektive lenker i et tabellformat. Dette vil være nyttig når det gjelder å legge til dette innholdet i en CSV-fil som du kan dele eksternt.

2. Tidsmodul

Bruk Time-modulen for å legge til en forsinkelse i Python-programmet slik at sideinnholdet kan lastes helt inn. Dette eksemplet bruker en forsinkelse på 15 sekunder, men du kan eksperimentere og velge en passende forsinkelse for omstendighetene dine.

3. Selen modul

Selen kan automatisere prosessen med å samhandle med nettet. Du kan bruke den til å kontrollere en forekomst av en nettleser, åpne trendsiden og bla nedover. For å installere Selenium i Python-miljøet, åpne din Terminal og utførepip installere selen.

4. Nettdriver

Bruk en nettdriver i kombinasjon med Selenium for å samhandle med nettleseren. Det er forskjellige nettdrivere tilgjengelig basert på nettleseren du vil automatisere. For denne versjonen, bruk den populære Google Chrome-nettleseren. Slik installerer du nettdriveren for Chrome:

  1. Sjekk versjonen av nettleseren du bruker ved å gå til Meny (3 prikker) > Hjelp>Om Google Chrome.
  2. Legg merke til versjonen av nettleseren; i dette tilfellet er det 106.0.5249.62.
  3. Gå til din Terminal og type pip installer chromedriver-binary==versjonsnummer:
    pip installere chromedriver-binær==106.0.5249.62
    Hvis det ikke er noen samsvarende versjon, vil pip vise deg en liste over de tilgjengelige; velg den som er nærmest kromversjonen din.

Hvordan bygge Twitter-skraperen

Følg disse trinnene for å bygge programmet ditt og få sanntids trendende hashtags. Du finner hele kildekoden i denne GitHub Repository.

  1. Importer de nødvendige modulene til Python-miljøet.
    # importere de nødvendige modulene
    fra selen import webdriver
    fraselen.webdriver.felles.avimportAv
    import chromedriver_binary
    import tid
    import pandaer som pd
  2. Opprett et objekt for å initialisere ChromeDriver og start nettleseren Google Chrome ved å bruke webdriver. Chrome() funksjon.
    # åpne google chrome-nettleseren
    nettleser = nettdriver. Chrome()
  3. Åpne Twitters trendside ved å sende URL-en til få() funksjon.
    # åpne trendsiden til Twitter
    nettleser.get('https://twitter.com/explore/tabs/trending')
  4. Bruk en forsinkelse slik at sidens innhold lastes helt inn.
    # forsinkelse for innlasting av sideinnhold
    tid.sove(15)
  5. Lag en tom liste for å lagre hashtaggene og erklær en løkke som går fra 3 til 13 for å matche variabelen i XPath-uttrykket fra før.
    # initialiser listen for å lagre trendemner og hashtags
    trending_topic_content=[]

    # samle emner og hashtags på Twitters trendside
    for i i området (3,13):

  6. Bruke finn_element() funksjon og passerer XPath-velgeren for å få trendemnene og hashtaggene på Twitter:
    xbane = f'//div[@aria-label="Tidslinje: Utforsk"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    trending_topic = browser.find_element (av. XPATH, xpath)
    trending_topic_content.legg til(trending_topic.tekst)
  7. Lag en tom liste for å lagre alle URL-ene og erklære en løkke som går gjennom alle hashtaggene.
    # opprett nettadresser ved å bruke hashtaggene som er samlet inn
    urls=[]
    for jeg i trending_topic_content:
    Bruk segmentoperatoren til å utelate hashtaggen for å lage URL-adressen og erstatte mellomrom med URL-koding, %20. Legg til lenkene til listen.
    hvis jeg begynner med("#"):
    jeg = jeg[1:]
    url='https://twitter.com/search? q=%23' + i + '&src=trend_klikk'
    ellers:
    url = 'https://twitter.com/search? q=' + i + '&src=trend_klikk'
    url = url.replace("", "%20")
    nettadresser.legg til(url)
  8. Lag en nøkkel-verdi-parordbok med nøkler som hashtags og verdier som URL-er.
    # lag en ordbok som har både hashtaggen og URL-ene
    dic={'Emneknagg':trending_topic_content,'URL':urls}
  9. Konverter den ustrukturerte ordboken til en tabellformet DataFrame.
    # konverter ordboken til en dataramme i pandaer
    df=pd. DataFrame (dic)
    skrive ut(df)
  10. Lagre DataFrame til en CSV-fil som du kan se i Microsoft Excel eller behandle videre.
    # konverter datarammen til format med kommaseparert verdi uten serienummer
    df.to_csv("Twitter_HashTags.csv",indeks=False)

Få verdifull innsikt ved å bruke nettskraping

Nettskraping er en kraftig metode for å skaffe ønskede data og analysere dem for å ta beslutninger. Beautiful Soup er et imponerende bibliotek som du kan installere og bruke til å skrape data fra enhver HTML- eller XML-fil ved hjelp av Python.

Med dette kan du skrape internett for å få sanntidsnyhetsoverskrifter, priser på produkter, sportsresultater, lagerverdi og mer.

Skrap et nettsted med denne vakre suppepythonopplæringen

Les Neste

DelekvitringDeleE-post

Relaterte temaer

  • Programmering
  • Programmering
  • Python
  • Webutvikling
  • Nettskraping
  • Twitter

Om forfatteren

Sai Ashish Konchada (3 artikler publisert)

Sai Ashish er en Full Stack-utvikler med bransjeerfaring med å bygge nettsteder og nettapplikasjoner. Han elsker å bygge innovative produkter og skrive innsiktsfulle artikler om programmering.

Mer fra Sai Ashish Konchada

Kommentar

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere

On The Wire

populært akkurat nå