Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission.

Ved Sai Ashish Konchada
DelTweetDelE-mail

Det kan være besværligt at skrabe HTML, så sørg for at forstå denne proces med lidt Python-øvelse.

Twitter er en af ​​de mest indflydelsesrige sociale medieplatforme, der nogensinde har eksisteret. Millioner af mennesker, inklusive toppolitikere, berømtheder og administrerende direktører, bruger platformen til at dele deres tanker hver dag.

Fanen Trending er et af de bedste steder at finde ud af nyheder i realtid og følelser på sociale medier. Du kan analysere og bruge disse data til at planlægge varemærkeannoncer, køre kampagner og øge salget med fold. Men hvordan kan du få de ti mest populære hashtags på Twitter?

Algoritmeopbygningsprocessen

Det første skridt til at bygge ethvert program er at notere og forstå de nødvendige trin for at bygge en Twitter-skraber. De er:

instagram viewer
  1. Åbn Google Chrome.
  2. Besøg Twitters trendside.
  3. Saml hashtags og deres respektive sidelink.
  4. Gem dataene i et regneark.

Dette tjener som algoritmen for problemformuleringen.

Forstå Twitter-websiden

Du skal vide, hvordan en webside markerer sine data, før du kan udtrække dem. Det hjælper meget, hvis du har en god forståelse for det grundlæggende i HTML og CSS.

Følg disse trin for at finde ud af, hvordan Twitter repræsenterer et trending hashtag og dets URL:

  1. Besøg Twitters trendside. Du kan også navigere til Twitter.comUdforskeTrending at se den.
  2. Undersøg hovedsøjlen ved hjælp af Chrome Dev Tools. Gå til Menu (3 prikker)>Flere værktøjer >Udvikler værktøjer og hold elementvælgerværktøjet over trendområdet.
  3. Den populære tidslinje er en div med en aria-mærke egenskab, hvis værdi er "Tidslinje: Udforsk". Hold markøren over markeringen i Elementer panel for bedre at forstå sidestrukturen. En anden div gemmer det populære hashtag/emne. Brug denne div som en tæller og gentag til alle div'erne på siden, der indeholder trendemnet/hashtagget. Indholdet er gemt i en span eller et par spændelementer. Observer den åbne fane og noter hierarkiet. Du kan bruge dette til at konstruere et XPath-udtryk. XPath-udtrykket for dette specifikke element er:
    '//div[@aria-label="Tidslinje: Udforsk"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Iterér og mål div[3], div[4], div[5] og så videre. For top ti hashtags løber tælleren fra 3 til 13. Den generaliserede XPath bliver:
    //div[@aria-label="Tidslinje: Udforsk"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Klik på et hashtag for at forstå URL'en på dets sider. Hvis du sammenligner URL'erne, bør du bemærke, at kun forespørgselsparameteren ændres, så den matcher navnet på hashtagget. Du kan bruge denne indsigt til at bygge URL'er uden egentlig at udtrække dem.

Dette projekt bruger følgende Python-moduler og værktøjer:

1. Panda modul

Du kan bruge Pandas DataFrame-klassen at gemme hashtags og deres respektive links i et tabelformat. Dette vil være nyttigt, når det kommer til at tilføje dette indhold til en CSV-fil, som du kan dele eksternt.

2. Tidsmodul

Brug tidsmodulet til at tilføje en forsinkelse til Python-programmet, så sidens indhold kan indlæses fuldt ud. Dette eksempel bruger en forsinkelse på 15 sekunder, men du kan eksperimentere og vælge en passende forsinkelse til dine omstændigheder.

3. Selen modul

Selen kan automatisere processen med at interagere med nettet. Du kan bruge den til at styre en forekomst af en webbrowser, åbne trendsiden og rulle ned i den. For at installere Selenium i dit Python-miljø skal du åbne din Terminal og udførepip installer selen.

4. Web driver

Brug en webdriver i kombination med Selenium til at interagere med browseren. Der er forskellige webdrivere tilgængelige baseret på den browser, du vil automatisere. Til denne build skal du bruge den populære Google Chrome-browser. Sådan installerer du webdriveren til Chrome:

  1. Tjek versionen af ​​den browser, du bruger, ved at besøge Menu (3 prikker) > Hjælp>Om Google Chrome.
  2. Bemærk browserens version; i dette tilfælde er det 106.0.5249.62.
  3. Gå til din Terminal og type pip installer chromedriver-binary==versionsnummer:
    pip installere chromedriver-binær==106.0.5249.62
    Hvis der ikke er nogen matchende version, vil pip vise dig en liste over de tilgængelige; vælg den, der er tættest på din chrome-version.

Sådan bygger du Twitter-skraberen

Følg disse trin for at bygge dit program og få trending hashtags i realtid. Du kan finde den komplette kildekode i denne GitHub Repository.

  1. Importer de nødvendige moduler til Python-miljøet.
    # importerer de nødvendige moduler
    fra selen importere webdriver
    fraselen.webdriver.almindelige.vedimportereVed
    importere chromedriver_binær
    importere tid
    importere pandaer som pd
  2. Opret et objekt for at initialisere ChromeDriver og start Google Chrome-browseren ved hjælp af webdriver. Chrome() fungere.
    # åbn google chrome browser
    browser = webdriver. Chrome()
  3. Åbn Twitters trendside ved at videregive dens URL til få() fungere.
    # åbn Twitters trending-side
    browser.get('https://twitter.com/explore/tabs/trending')
  4. Anvend en forsinkelse, så sidens indhold er fuldt indlæst.
    # forsinkelse for indlæsning af sideindhold
    tid.søvn(15)
  5. Opret en tom liste for at gemme hashtags og erklære en løkke, der løber fra 3 til 13 for at matche variablen i XPath-udtrykket fra før.
    # initialiser listen for at gemme trendemner og hashtags
    trending_topic_content=[]

    # saml emner og hashtags på Twitters trending-side
    for i inden for rækkevidde (3,13):

  6. Brug find_element() funktion og videregiv XPath-vælgeren for at få de populære emner og hashtags på Twitter:
    xpath = f'//div[@aria-label="Tidslinje: Udforsk"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    trending_topic = browser.find_element (Af. XPATH, xpath)
    trending_topic_content.Tilføj(populært emne.tekst)
  7. Opret en tom liste for at gemme alle URL'er og erklære en løkke, der løber gennem alle hashtags.
    # opret URL'er ved hjælp af de indsamlede hashtags
    urls=[]
    for mig i trending_topic_content:
    Brug udsnitsoperatoren til at udelade hashtagget for at oprette dets URL og erstatte mellemrum med URL-kodning, %20. Tilføj links til listen.
    hvis jeg starter med("#"):
    i = jeg[1:]
    url='https://twitter.com/search? q=%23' + i + '&src=trend_klik'
    andet:
    url = 'https://twitter.com/search? q=' + i + '&src=trend_klik'
    url = url.replace("", "%20")
    webadresser.Tilføj(url)
  8. Opret en nøgle-værdi-parordbog med nøgler som hashtags og værdier som deres URL'er.
    # opret en ordbog, der både har hashtagget og URL'erne
    dic={'HashTag':trending_topic_content,'URL':urls}
  9. Konverter den ustrukturerede ordbog til en tabelformet DataFrame.
    # konverter ordbogen til en dataramme i pandaer
    df=pd. DataFrame (dic)
    Print(df)
  10. Gem DataFrame i en CSV-fil, som du kan se i Microsoft Excel eller behandle videre.
    # konverter datarammen til format med kommasepareret værdi uden serienumre
    df.to_csv("Twitter_HashTags.csv",indeks=False)

Få værdifuld indsigt ved at bruge webskrabning

Webskrabning er en kraftfuld metode til at indhente ønskede data og analysere dem for at træffe beslutninger. Beautiful Soup er et imponerende bibliotek, som du kan installere og bruge til at skrabe data fra enhver HTML- eller XML-fil ved hjælp af Python.

Med dette kan du skrabe internettet for at få nyhedsoverskrifter i realtid, priser på produkter, sportsresultater, lagerværdi og mere.

Skrab et websted med denne smukke suppepython-tutorial

Læs Næste

DelTweetDelE-mail

Relaterede emner

  • Programmering
  • Programmering
  • Python
  • Web-udvikling
  • Web skrabning
  • Twitter

Om forfatteren

Sai Ashish Konchada (3 artikler udgivet)

Sai Ashish er en Full Stack-udvikler med brancheerfaring med at bygge websteder og webapplikationer. Han elsker at bygge innovative produkter og skrive indsigtsfulde artikler om programmering.

Mere fra Sai Ashish Konchada

Kommentar

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere

On The Wire

trending nu