Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat.

De Sai Ashish Konchada
AcțiuneTweetAcțiuneE-mail

Scraping HTML poate fi dificil, așa că asigurați-vă că înțelegeți acest proces cu puțină practică Python.

Twitter este una dintre cele mai influente platforme de social media care a existat vreodată. Milioane de oameni, inclusiv politicieni de top, celebrități și directori generali, folosesc platforma pentru a-și împărtăși gândurile în fiecare zi.

Fila de tendințe este unul dintre cele mai bune locuri pentru a afla știri în timp real și sentimentul rețelelor sociale. Puteți analiza și utiliza aceste date pentru a planifica reclame de marcă, a derula campanii și pentru a crește vânzările prin pliuri. Dar cum poți obține primele zece hashtag-uri în tendințe pe Twitter?

Procesul de construire a algoritmului

Primul pas pentru construirea oricărui program este să notați și să înțelegeți pașii necesari pentru a construi un scraper Twitter. Sunt:

instagram viewer

  1. Deschide Google Chrome.
  2. Vizitați pagina de tendințe a Twitter.
  3. Adunați hashtag-urile și linkul respectiv al paginii.
  4. Salvați datele într-o foaie de calcul.

Acesta servește ca algoritm al enunțului problemei.

Înțelegerea paginii web Twitter

Trebuie să știți cum o pagină web își marchează datele înainte de a o putea extrage. Ajută foarte mult dacă ai o bună înțelegere elementele de bază ale HTML și CSS.

Urmați acești pași pentru a afla cum Twitter reprezintă un hashtag în tendințe și adresa URL a acestuia:

  1. Vizita Pagina de tendințe a Twitter. De asemenea, puteți naviga la Twitter.comExploraTrending pentru a o vizualiza.
  2. Inspectați coloana principală folosind Chrome Dev Tools. Mergi la Meniu (3 puncte)>Mai multe instrumente >Instrumente de dezvoltare și treceți cu mouse-ul instrumentul de selectare a elementelor peste zona de tendințe.
  3. Cronologia tendințelor este a div cu un aria-etichetă atribut a cărui valoare este „Cronologie: explorați”. Plasați cursorul peste marcajul din Elemente panoul pentru a înțelege mai bine structura paginii. O alta div stochează hashtag-ul/subiectul în tendințe. Utilizați acest div ca un numărător și repetați la toate div-urile din pagina care conține subiectul/hashtagul în tendințe. Conținutul este stocat într-un span sau câteva elemente span. Observați fila deschisă și observați ierarhia. Puteți utiliza acest lucru pentru a construi o expresie XPath. Expresia XPath pentru acest element specific este:
    '//div[@aria-label="Cronologie: Explorați"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    Iterați și vizați div[3], div[4], div[5] și așa mai departe. Pentru primele zece hashtag-uri, contorul este de la 3 la 13. XPath-ul generalizat devine:
    //div[@aria-label="Cronologie: Explorați"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
  4. Faceți clic pe orice hashtag pentru a înțelege adresa URL a paginilor sale. Dacă comparați adresele URL, ar trebui să observați că doar parametrul de interogare se modifică pentru a se potrivi cu numele hashtag-ului. Puteți folosi această perspectivă pentru a crea adrese URL fără a le extrage efectiv.

Acest proiect folosește următoarele module și instrumente Python:

1. Modulul Pandas

Puteți utilizați clasa Pandas DataFrame pentru a stoca hashtag-urile și legăturile lor respective într-un format tabelar. Acest lucru va fi util atunci când vine vorba de adăugarea acestor conținuturi într-un fișier CSV pe care îl puteți partaja extern.

2. Modulul de timp

Utilizați modulul Time pentru a adăuga o întârziere programului Python pentru a permite încărcarea completă a conținutului paginii. Acest exemplu utilizează o întârziere de 15 secunde, dar puteți experimenta și alege o întârziere adecvată pentru circumstanțele dvs.

3. Modulul de seleniu

Selenium poate automatiza procesul de interacțiune cu web-ul. Îl puteți folosi pentru a controla o instanță a unui browser web, pentru a deschide pagina de tendințe și a derula în jos. Pentru a instala Selenium în mediul dvs. Python, deschideți Terminal si executapip install seleniu.

4. Driver web

Utilizați un driver web în combinație cu Selenium pentru a interacționa cu browserul. Există diferite drivere web disponibile în funcție de browserul pe care doriți să îl automatizați. Pentru această versiune, utilizați popularul browser Google Chrome. Pentru a instala driverul web pentru Chrome:

  1. Verificați versiunea browserului pe care îl utilizați vizitând Meniul (3 puncte) > Ajutor>Despre Google Chrome.
  2. Notați versiunea browserului; în acest caz, este 106.0.5249.62.
  3. Du-te la ta Terminal și tip pip install chromedriver-binary==număr_versiune:
    pip instalare chromedriver-binar==106.0.5249.62
    Dacă nu există o versiune care se potrivește, pip vă va afișa o listă cu cele disponibile; alege-l pe cel mai apropiat de versiunea ta Chrome.

Cum să construiți Twitter Scraper

Urmați acești pași pentru a vă construi programul și pentru a obține hashtag-uri de tendințe în timp real. Puteți găsi codul sursă complet în aceasta Depozitul GitHub.

  1. Importați modulele necesare în mediul Python.
    # importul modulelor necesare
    din seleniu import webdriver
    dinseleniu.webdriver.uzual.deimportDe
    import chromedriver_binary
    import timp
    import panda la fel de pd
  2. Creați un obiect pentru a inițializa ChromeDriver și lansați browserul Google Chrome folosind webdriver. Crom() funcţie.
    # deschide browserul google chrome
    browser = webdriver. Crom()
  3. Deschideți pagina de tendințe a Twitter trecând adresa URL la obține() funcţie.
    # deschide pagina de tendințe a Twitter
    browser.get('https://twitter.com/explore/tabs/trending')
  4. Aplicați o întârziere pentru ca conținutul paginii să fie încărcat complet.
    # întârziere pentru încărcarea conținutului paginii
    timp.dormi(15)
  5. Creați o listă goală pentru a stoca hashtag-urile și declarați o buclă care rulează de la 3 la 13 pentru a se potrivi cu variabila din expresia XPath de mai înainte.
    # inițializați lista pentru a stoca subiecte în tendințe și hashtag-uri
    trending_topic_content=[]

    # colectează subiecte și hashtag-uri pe pagina de tendințe a Twitter
    pentru i în intervalul (3,13):

  6. Folosește find_element() funcția și treceți selectorul XPath pentru a obține subiectele în tendințe și hashtag-urile pe Twitter:
    xpath = f'//div[@aria-label="Cronologie: Explorați"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
    trending_topic = browser.find_element (De la. XPATH, xpath)
    trending_topic_content.adăuga(subiect la modă.text)
  7. Creați o listă goală pentru a stoca toate adresele URL și declarați o buclă care rulează prin toate hashtag-urile.
    # creați adrese URL folosind hashtag-urile colectate
    URL=[]
    pentru mine în trending_topic_content:
    Utilizați operatorul slice pentru a omite hashtag-ul pentru a-i crea URL-ul și pentru a înlocui spațiile cu codificarea URL, %20. Adăugați linkurile la listă.
    dacă i.începe cu("#"):
    i = i[1:]
    url='https://twitter.com/search? q=%23' + i + '&src=trend_click'
    altfel:
    url = 'https://twitter.com/search? q=' + i + '&src=trend_click'
    url = url.replace("", "%20")
    URL-uri.adăuga(url)
  8. Creați un dicționar pereche cheie-valoare cu chei ca hashtag-uri și valori ca adrese URL.
    # creați un dicționar care are atât hashtag-ul, cât și URL-urile
    dic={'Hashtag':trending_topic_content,'URL':urls}
  9. Convertiți dicționarul nestructurat într-un DataFrame tabelar.
    # convertiți dicționarul într-un cadru de date în panda
    df=pd. DataFrame (dic)
    imprimare(df)
  10. Salvați DataFrame într-un fișier CSV pe care îl puteți vizualiza în Microsoft Excel sau îl puteți procesa în continuare.
    # convertiți cadrul de date în format Valoare separată prin virgulă, fără numere de serie
    df.to_csv("Twitter_HashTags.csv",index=fals)

Obțineți informații valoroase folosind Web Scraping

Web scraping este o metodă puternică de a obține datele dorite și de a le analiza pentru a lua decizii. Beautiful Soup este o bibliotecă impresionantă pe care o puteți instala și utiliza pentru a răzui date din orice fișier HTML sau XML folosind Python.

Cu aceasta, puteți zgâria internetul pentru a obține titluri de știri în timp real, prețuri ale produselor, scoruri sportive, valoarea stocului și multe altele.

Răzuiți un site web cu acest tutorial frumos pentru supă Python

Citiți în continuare

AcțiuneTweetAcțiuneE-mail

Subiecte asemănătoare

  • Programare
  • Programare
  • Piton
  • Dezvoltare web
  • Web Scraping
  • Stare de nervozitate

Despre autor

Sai Ashish Konchada (3 articole publicate)

Sai Ashish este un dezvoltator Full Stack cu experiență în industrie în construirea de site-uri web și aplicații web. Îi place să construiască produse inovatoare și să scrie articole interesante despre programare.

Mai multe de la Sai Ashish Konchada

cometariu

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona

Pe Sârmă

popular acum