Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju.
HTML nokasīšana var būt sarežģīta, tāpēc pārliecinieties, ka saprotat šo procesu, nedaudz praktizējot Python.
Twitter ir viena no ietekmīgākajām sociālo mediju platformām, kāda jebkad pastāvējusi. Miljoniem cilvēku, tostarp vadošie politiķi, slavenības un izpilddirektori, katru dienu izmanto šo platformu, lai dalītos savās domās.
Cilne Tendences ir viena no labākajām vietām, kur uzzināt reāllaika ziņas un sociālo mediju noskaņojumu. Varat analizēt un izmantot šos datus, lai plānotu zīmola reklāmas, vadītu kampaņas un palielinātu pārdošanas apjomu. Bet kā jūs varat iegūt desmit populārākās atsauces pakalpojumā Twitter?
Algoritmu veidošanas process
Pirmais solis, lai izveidotu jebkuru programmu, ir atzīmēt un saprast darbības, kas jāveic, lai izveidotu Twitter skrāpi. Viņi ir:
- Atveriet Google Chrome.
- Apmeklējiet Twitter populāro lapu.
- Apkopojiet atsauces un to attiecīgās lapas saiti.
- Saglabājiet datus izklājlapā.
Tas kalpo kā problēmas paziņojuma algoritms.
Twitter tīmekļa vietnes izpratne
Lai tos varētu iegūt, jums jāzina, kā tīmekļa lapa atzīmē savus datus. Tas ļoti palīdz, ja jums ir laba izpratne par HTML pamati un CSS.
Veiciet šīs darbības, lai noskaidrotu, kā Twitter attēlo populāru tēmturi un tā URL:
- Apmeklējums Twitter populārākā lapa. Varat arī doties uz Twitter.com → Izpētīt → Tendences lai to apskatītu.
- Pārbaudiet galveno kolonnu izmantojot Chrome Dev Tools. Iet uz Izvēlne (3 punkti)>Vairāk rīku >Izstrādātāja rīki un virziet elementu atlasītāja rīku virs tendenču apgabala.
- Tendenču laika skala ir a div ar an ārijas etiķete atribūts, kura vērtība ir "Laika skala: Izpētīt". Virziet kursoru virs marķējuma sadaļā Elementi paneli, lai labāk izprastu lapas struktūru. Cits div saglabā populārāko mirkļbirku/tēmu. Izmantojiet šo div vienumu kā skaitītāju un atkārtojiet visus divos elementus lapā, kurā ir aktuālā tēma/attēls. Saturs tiek glabāts a span vai pāris laiduma elementi. Ievērojiet atvērto cilni un atzīmējiet hierarhiju. Varat to izmantot, lai izveidotu XPath izteiksmi. XPath izteiksme šim konkrētajam elementam ir:
Atkārtojiet un mērķējiet uz div[3], div[4], div[5] un tā tālāk. Desmit populārākajām atsaucēm skaitītājs ir no 3 līdz 13. Vispārinātais XPath kļūst:'//div[@aria-label="Laika skala: Izpētiet"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
//div[@aria-label="Laika skala: Izpētiet"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- Noklikšķiniet uz jebkura hashtag, lai saprastu tā lapu URL. Salīdzinot vietrāžus URL, ievērojiet, ka mainās tikai vaicājuma parametrs, lai tas atbilstu atsauces nosaukumam. Varat izmantot šo ieskatu, lai izveidotu vietrāžus URL, tos faktiski neizvelkot.
Šajā projektā tiek izmantoti šādi Python moduļi un rīki:
1. Pandas modulis
Jūs varat izmantojiet Pandas DataFrame klasi lai saglabātu atsauces un to attiecīgās saites tabulas formātā. Tas būs noderīgi, pievienojot šo saturu CSV failam, ko varat kopīgot ārēji.
2. Laika modulis
Izmantojiet moduli Time, lai Python programmai pievienotu aizkavi, lai lapas saturs varētu pilnībā ielādēt. Šajā piemērā tiek izmantota 15 sekunžu aizkave, taču varat eksperimentēt un izvēlēties saviem apstākļiem atbilstošu aizkavi.
3. Selēna modulis
Selēns var automatizēt mijiedarbības ar tīmekli procesu. Varat to izmantot, lai kontrolētu tīmekļa pārlūkprogrammas gadījumu, atvērtu aktuālo lapu un ritinātu to uz leju. Lai Python vidē instalētu Selenium, atveriet savu Terminālis un izpildītpip instalēt selēnu.
4. Web draiveris
Izmantojiet tīmekļa draiveri kopā ar Selenium, lai mijiedarbotos ar pārlūkprogrammu. Atkarībā no pārlūkprogrammas, kuru vēlaties automatizēt, ir pieejami dažādi tīmekļa draiveri. Šai versijai izmantojiet populāro pārlūkprogrammu Google Chrome. Lai instalētu tīmekļa draiveri pārlūkam Chrome:
- Pārbaudiet izmantotās pārlūkprogrammas versiju, apmeklējot Izvēlne (3 punkti) > Palīdzība>Par Google Chrome.
- Ņemiet vērā pārlūkprogrammas versiju; šajā gadījumā tas ir 106.0.5249.62.
- Dodieties uz savu Terminālis un tips pip instalēt chromedriver-binary==versijas_numurs:
Ja atbilstošas versijas nav, pip parādīs pieejamo versiju sarakstu; izvēlieties to, kas ir vistuvāk jūsu Chrome versijai.pip uzstādīt hroma draiveris-binārs==106.0.5249.62
Kā izveidot Twitter skrāpi
Veiciet šīs darbības, lai izveidotu programmu un iegūtu reāllaika populāras atsauces. Šeit varat atrast visu avota kodu GitHub repozitorijs.
- Importējiet nepieciešamos moduļus Python vidē.
# nepieciešamo moduļu importēšana
no selēns imports tīmekļa draiveris
noselēns.webdriver.bieži.arimportsAutors
imports chromeddriver_binary
imports laiks
imports pandas kā pd - Izveidojiet objektu, lai inicializētu ChromeDriver, un palaidiet pārlūkprogrammu Google Chrome, izmantojot tīmekļa draiveris. Chrome() funkciju.
# atveriet pārlūkprogrammu Google Chrome
pārlūkprogramma = tīmekļa draiveris. Chrome() - Atveriet Twitter populāro lapu, nosūtot tās URL uz gūt() funkciju.
# atveriet Twitter populārāko lapu
browser.get('https://twitter.com/explore/tabs/trending') - Izmantojiet aizkavi, lai lapas saturs tiktu ielādēts pilnībā.
# aizkave lapas satura ielādei
laiks.Gulēt(15) - Izveidojiet tukšu sarakstu, lai saglabātu atsauces tagus, un deklarējiet cilpu, kas darbojas no 3 līdz 13, lai atbilstu mainīgajam XPath izteiksmē no iepriekšējās.
# inicializējiet sarakstu, lai saglabātu populārākās tēmas un atsauces
trending_topic_content=[]# apkopo tēmas un atsauces Twitter populārajā lapā
i diapazonā (3,13): - Izmantojiet atrast_elementu() funkciju un nododiet XPath atlasītāju, lai pakalpojumā Twitter iegūtu populārākās tēmas un atsauces:
xpath = f'//div[@aria-label="Laika skala: Izpētiet"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
trending_topic = browser.find_element (pēc XPATH, xpath)
trending_topic_content.pievienot(tendenču_tēma.teksts) - Izveidojiet tukšu sarakstu, lai saglabātu visus URL, un deklarējiet cilpu, kas iet cauri visiem atsauces tagiem.
Izmantojiet slice operatoru, lai izlaistu tēmturi, lai izveidotu tā URL un aizstātu atstarpes ar URL kodējumu, %20. Pievienojiet saites sarakstam.# izveidojiet vietrāžus URL, izmantojot savāktos atsauces tagus
urls=[]
man sadaļā trending_topic_content:if i.starts with("#"):
i = i[1:]
url='https://twitter.com/search? q=%23' + es + '&src=trend_click'
cits:
url = 'https://twitter.com/search? q=' + es + '&src=trend_click'
url = url.replace("", "%20")
URL.pievienot(url) - Izveidojiet atslēgu un vērtību pāra vārdnīcu, izmantojot atslēgas kā atsauces un vērtības kā to vietrāžus URL.
# izveidojiet vārdnīcu, kurā ir gan atsauce, gan vietrāži URL
dic={'HashTag':trending_topic_content,'URL':urls} - Pārvērtiet nestrukturēto vārdnīcu par tabulas DataFrame.
# pārveidot vārdnīcu par datu rāmi pandās
df=pd. DataFrame (dic)
drukāt(df) - Saglabājiet DataFrame CSV failā, ko varat skatīt programmā Microsoft Excel vai apstrādāt tālāk.
# konvertēt datu rāmi komatatdalītās vērtības formātā bez sērijas numuriem
df.to_csv("Twitter_HashTags.csv",index=false)
Gūstiet vērtīgu ieskatu, izmantojot tīmekļa izkopšanu
Tīmekļa skrāpēšana ir spēcīgs veids, kā iegūt vēlamos datus un analizēt tos, lai pieņemtu lēmumus. Skaista zupa ir iespaidīga bibliotēka, kuru varat instalēt un izmantot, lai, izmantojot Python, notīrītu datus no jebkura HTML vai XML faila.
Izmantojot to, jūs varat izkopt internetu, lai iegūtu reāllaika ziņu virsrakstus, produktu cenas, sporta rezultātus, akciju vērtību un daudz ko citu.