Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu.
HTML-i kraapimine võib olla tülikas, seega veenduge, et mõistate seda protsessi veidi Pythoni praktikaga.
Twitter on üks mõjukamaid sotsiaalmeediaplatvorme, mis kunagi eksisteerinud on. Miljonid inimesed, sealhulgas tipp-poliitikud, kuulsused ja tegevjuhid, kasutavad platvormi oma mõtete jagamiseks iga päev.
Trendide vahekaart on üks parimaid kohti reaalajas uudiste ja sotsiaalmeedia tunde uurimiseks. Saate neid andmeid analüüsida ja kasutada brändireklaamide kavandamiseks, kampaaniate käitamiseks ja müügi suurendamiseks voltide kaupa. Aga kuidas saada Twitteris kümme kõige populaarsemat räsimärki?
Algoritmi loomise protsess
Esimene samm mis tahes programmi loomisel on Twitteri kaabitsa ehitamiseks vajalike sammude märkimine ja mõistmine. Nemad on:
- Avage Google Chrome.
- Külastage Twitteri populaarsust koguvat lehte.
- Koguge kokku hashtagid ja nende vastav lehe link.
- Salvestage andmed arvutustabelisse.
See toimib probleemiavalduse algoritmina.
Twitteri veebisaidi mõistmine
Enne nende eraldamist peate teadma, kuidas veebileht oma andmed märgistab. See aitab palju, kui teil on sellest hea arusaam HTML-i põhitõed ja CSS.
Järgige neid samme, et välja selgitada, kuidas Twitter esindab populaarsust koguvat hashtagi ja selle URL-i.
- Külastage Twitteri trendikas leht. Samuti saate navigeerida aadressile Twitter.com → Uurige → Trendikas selle vaatamiseks.
- Kontrollige peamist veergu kasutades Chrome'i arendustööriistu. Minema Menüü (3 punkti)>Rohkem tööriistu >Arendaja tööriistad ja hõljutage elementide valija tööriista trendika ala kohal.
- Trendikas ajaskaala on a div koos an aaria-silt atribuut, mille väärtus on "Ajaskaala: uurige". Hõljutage kursorit jaotises märgistuse kohal Elemendid paneeli, et paremini mõista lehe struktuuri. Teine div salvestab populaarsed hashtagid/teemad. Kasutage seda lahtrit loendurina ja korrake kõiki trende tõusvat teemat/räsimärki sisaldava lehe dive. Sisu salvestatakse a ulatus või paar span elementi. Jälgige avatud vahekaarti ja märkige üles hierarhia. Seda saab kasutada XPathi avaldise koostamiseks. Selle konkreetse elemendi XPath avaldis on:
Itereerige ja sihtige div[3], div[4], div[5] jne. Kümne parima räsimärgi puhul on loendur vahemikus 3 kuni 13. Üldistatud XPath muutub:'//div[@aria-label="Ajaskaala: uurige"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
//div[@aria-label="Ajaskaala: uurige"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- Klõpsake mis tahes hashtagil, et mõista selle lehtede URL-i. Kui võrdlete URL-e, peaksite märkama, et ainult päringu parameeter muutub nii, et see vastaks hashtag'i nimele. Seda teavet saate kasutada URL-ide loomiseks ilma neid välja võtmata.
See projekt kasutab järgmisi Pythoni mooduleid ja tööriistu:
1. Panda moodul
Sa saad kasutada klassi Pandas DataFrame hashtagide ja nende vastavate linkide salvestamiseks tabelivormingus. See on abiks selle sisu lisamisel CSV-faili, mida saate väliselt jagada.
2. Aja moodul
Kasutage moodulit Aeg, et lisada Pythoni programmile viivitus, et võimaldada lehe sisu täielikku laadimist. See näide kasutab 15-sekundilist viivitust, kuid saate katsetada ja valida oma olukorrale sobiva viivituse.
3. Seleeni moodul
Seleen võib automatiseerida veebiga suhtlemise protsessi. Saate seda kasutada veebibrauseri eksemplari juhtimiseks, populaarsust koguva lehe avamiseks ja selle alla kerimiseks. Seleniumi installimiseks oma Pythoni keskkonda avage oma Terminal ja teostadapip install seleen.
4. Veebidraiver
Kasutage brauseriga suhtlemiseks veebidraiverit koos Seleeniga. Saadaval on erinevad veebidraiverid sõltuvalt brauserist, mida soovite automatiseerida. Selle järgu jaoks kasutage populaarset Google Chrome'i brauserit. Chrome'i veebidraiveri installimiseks tehke järgmist.
- Kontrollige kasutatava brauseri versiooni, külastades veebilehte Menüü (3 punkti) > Abi>Teave Google Chrome'i kohta.
- Pange tähele brauseri versiooni; antud juhul on see 106.0.5249.62.
- Mine oma Terminal ja tüüp pip install chromedriver-binary==versiooni_number:
Kui sobivat versiooni pole, kuvab pip teile saadaolevate versioonide loendi; valige oma kroomi versioonile lähim.pip installida chromedriver-binaarne==106.0.5249.62
Kuidas luua Twitteri kaabitsat
Järgige neid samme oma programmi koostamiseks ja reaalajas populaarsust koguvate hashtagide hankimiseks. Täieliku lähtekoodi leiate siit GitHubi hoidla.
- Importige vajalikud moodulid Pythoni keskkonda.
# vajalike moodulite importimine
alates seleen importida veebidraiver
alatesseleen.veebidraiver.tavaline.kõrvalimportidaKõrval
importida chromedriver_binary
importida aega
importida pandad nagu pd - Looge ChromeDriveri lähtestamiseks objekt ja käivitage Google Chrome'i brauser, kasutades veebidraiver. Chrome() funktsiooni.
# avage Google Chrome'i brauser
brauser = veebidraiver. Chrome() - Avage Twitteri populaarsust koguv leht, edastades selle URL-i aadressile saada () funktsiooni.
# avage Twitteri populaarsust koguv leht
browser.get('https://twitter.com/explore/tabs/trending') - Rakendage viivitust, et lehe sisu laaditaks täielikult.
# viivitus lehe sisu laadimisel
aega.magama(15) - Looge hashtagide salvestamiseks tühi loend ja deklareerige tsükkel, mis jookseb vahemikus 3 kuni 13, et see sobiks XPathi avaldises oleva muutujaga varasemalt.
# lähtestage loend populaarsete teemade ja hashtagide salvestamiseks
trending_topic_content=[]# koguge Twitteri populaarsust koguvale lehele teemasid ja hashtage
i jaoks vahemikus (3,13): - Kasuta leia_element() funktsioon ja edastage XPathi valija, et saada Twitteris populaarsed teemad ja hashtagid:
xpath = f'//div[@aria-label="Ajaskaala: uurige"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
trending_topic = browser.find_element (XPATH, xpath)
trending_topic_content.lisa(Kuum teema.tekst) - Looge kõigi URL-ide salvestamiseks tühi loend ja deklareerige tsükkel, mis läbib kõiki räsimärke.
Kasutage lõiguoperaatorit, et jätta selle URL-i loomiseks välja hashtag ja asendada tühikud URL-i kodeeringuga, %20. Lisage lingid loendisse.# looge kogutud hashtagide abil URL-e
urls=[]
minu jaoks trending_topic_content:if i.startswith("#"):
i = i[1:]
url='https://twitter.com/search? q =%23' + i + '&src=trend_click'
muidu:
url = 'https://twitter.com/search? q=' + i + '&src=trend_click'
url = url.replace("", "%20")
URL-id.lisa(url) - Looge võtme-väärtuste paar sõnastik, mille võtmed on räsimärgid ja väärtused nende URL-idena.
# looge sõnastik, millel on nii hashtag kui ka URL-id
dic={'HashTag':trending_topic_content,'URL':urls} - Teisendage struktureerimata sõnastik tabeliks DataFrame'iks.
# teisendage sõnaraamat pandas andmeraamiks
df=pd. DataFrame (dic)
printida(df) - Salvestage DataFrame CSV-faili, mida saate vaadata Microsoft Excelis või edasi töödelda.
# teisendab andmeraami komaga eraldatud väärtuse vormingusse ilma seerianumbriteta
df.to_csv("Twitter_HashTags.csv",index=False)
Saate veebikraapimise abil väärtuslikku teavet
Veebi kraapimine on võimas meetod soovitud andmete saamiseks ja nende analüüsimiseks otsuste tegemiseks. Beautiful Soup on muljetavaldav raamatukogu, mille saate installida ja kasutada Pythoni abil mis tahes HTML- või XML-failist andmete kraapimiseks.
Selle abil saate internetti kraapida, et saada reaalajas uudiste pealkirju, toodete hindu, sporditulemusi, aktsia väärtust ja palju muud.