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.
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:
- Deschide Google Chrome.
- Vizitați pagina de tendințe a Twitter.
- Adunați hashtag-urile și linkul respectiv al paginii.
- 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:
- Vizita Pagina de tendințe a Twitter. De asemenea, puteți naviga la Twitter.com → Explora → Trending pentru a o vizualiza.
- 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.
- 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:
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[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
//div[@aria-label="Cronologie: Explorați"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- 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:
- Verificați versiunea browserului pe care îl utilizați vizitând Meniul (3 puncte) > Ajutor>Despre Google Chrome.
- Notați versiunea browserului; în acest caz, este 106.0.5249.62.
- Du-te la ta Terminal și tip pip install chromedriver-binary==număr_versiune:
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.pip instalare chromedriver-binar==106.0.5249.62
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.
- 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 - 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() - 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') - 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) - 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): - 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) - Creați o listă goală pentru a stoca toate adresele URL și declarați o buclă care rulează prin toate hashtag-urile.
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ă.# creați adrese URL folosind hashtag-urile colectate
URL=[]
pentru mine în trending_topic_content: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) - 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} - 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) - 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.