Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo.
Strganje HTML-ja je lahko zapleteno, zato se prepričajte, da razumete ta postopek z malo prakse Pythona.
Twitter je ena najvplivnejših platform družbenih medijev, kar jih je kdaj obstajalo. Milijoni ljudi, vključno z vrhunskimi politiki, zvezdniki in izvršnimi direktorji, uporabljajo platformo za izmenjavo svojih misli vsak dan.
Zavihek Priljubljeni je eno najboljših mest za iskanje novic v realnem času in razpoloženja v družabnih medijih. Te podatke lahko analizirate in uporabite za načrtovanje oglaševanja blagovnih znamk, vodenje oglaševalskih akcij in povečanje prodaje z odpadki. Toda kako lahko dobite deset najbolj priljubljenih hashtagov na Twitterju?
Postopek izdelave algoritma
Prvi korak pri izdelavi katerega koli programa je, da si zapomnite in razumete korake, potrebne za izgradnjo Twitter strgala. To so:
- Odprite Google Chrome.
- Obiščite Twitterjevo priljubljeno stran.
- Zberite hashtage in ustrezne povezave do strani.
- Podatke shranite v preglednico.
To služi kot algoritem izjave o problemu.
Razumevanje spletne strani Twitter
Preden jih lahko ekstrahirate, morate vedeti, kako spletna stran označuje svoje podatke. Zelo pomaga, če dobro razumeš osnove HTML in CSS.
Sledite tem korakom, da ugotovite, kako Twitter predstavlja trendovski hashtag in njegov URL:
- Obisk Twitterjeva priljubljena stran. Lahko tudi navigirate do Twitter.com → Raziščite → V trendu da si ga ogledate.
- Preglejte glavni stolpec z orodji Chrome Dev. Pojdi do Meni (3 pike)>Več orodij >Orodja za razvijalce in premaknite orodje za izbirnik elementov nad območje trendov.
- Časovnica trendov je a div z an arija-oznaka atribut, katerega vrednost je »Časovnica: Razišči«. Premaknite miškin kazalec nad oznako v Elementi ploščo za boljše razumevanje strukture strani. Še ena div shrani trendovski hashtag/temo. Uporabite ta div kot števec in ponovite vse dive na strani, ki vsebuje priljubljeno temo/hashtag. Vsebina je shranjena v a razpon ali nekaj razponskih elementov. Opazujte odprt zavihek in upoštevajte hierarhijo. To lahko uporabite za sestavo izraza XPath. Izraz XPath za ta specifični element je:
Ponavljajte in ciljajte div[3], div[4], div[5] itd. Za prvih deset hashtagov števec teče od 3 do 13. Splošni XPath postane:'//div[@aria-label="Časovnica: Raziščite"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
//div[@aria-label="Časovnica: Raziščite"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- Kliknite kateri koli hashtag, da razumete URL njegovih strani. Če primerjate URL-je, bi morali opaziti, da se samo poizvedbeni parameter spremeni tako, da se ujema z imenom hashtaga. Ta vpogled lahko uporabite za ustvarjanje URL-jev, ne da bi jih dejansko ekstrahirali.
Ta projekt uporablja naslednje module in orodja Python:
1. Modul Pandas
Ti lahko uporabite razred Pandas DataFrame za shranjevanje hashtagov in njihovih ustreznih povezav v obliki tabele. To bo koristno, ko gre za dodajanje te vsebine v datoteko CSV, ki jo lahko delite zunaj.
2. Časovni modul
Uporabite modul Čas, da dodate zakasnitev v program Python, da omogočite, da se vsebina strani v celoti naloži. Ta primer uporablja zakasnitev 15 sekund, vendar lahko eksperimentirate in izberete ustrezno zakasnitev za vaše okoliščine.
3. Selenski modul
Selenium lahko avtomatizira proces interakcije s spletom. Z njim lahko nadzirate primerek spletnega brskalnika, odprete priljubljeno stran in se pomaknete navzdol po njej. Če želite namestiti Selenium v svoje okolje Python, odprite svoj Terminal in izvršitipip namestite selen.
4. Spletni gonilnik
Uporabite spletni gonilnik v kombinaciji s Seleniumom za interakcijo z brskalnikom. Glede na brskalnik, ki ga želite avtomatizirati, so na voljo različni spletni gonilniki. Za to zgradbo uporabite priljubljen brskalnik Google Chrome. Če želite namestiti spletni gonilnik za Chrome:
- Preverite različico brskalnika, ki ga uporabljate, tako da obiščete meni (3 pike) > Pomoč>O brskalniku Google Chrome.
- Upoštevajte različico brskalnika; v tem primeru je to 106.0.5249.62.
- Pojdi k svojemu Terminal in tip pip namestite chromedriver-binary==številka_različice:
Če ni ustrezne različice, vam bo pip pokazal seznam razpoložljivih; izberite tisto, ki je najbližje vaši različici Chroma.pip namestite chromedriver-dvojiško==106.0.5249.62
Kako sestaviti Twitter Scraper
Sledite tem korakom, da sestavite svoj program in pridobite trendne hashtage v realnem času. Tukaj lahko najdete celotno izvorno kodo Repozitorij GitHub.
- Uvozite zahtevane module v okolje Python.
# uvoz zahtevanih modulov
od selen uvoz spletni gonilnik
odselen.webdriver.običajni.byuvozAvtor:
uvoz chromedriver_binary
uvoz čas
uvoz pande kot pd - Ustvarite objekt za inicializacijo gonilnika ChromeDriver in zaženite brskalnik Google Chrome z uporabo spletni gonilnik. Chrome() funkcijo.
# odprite brskalnik google chrome
brskalnik = spletni gonilnik. Chrome() - Odprite Twitterjevo priljubljeno stran tako, da posredujete njen URL na dobiti () funkcijo.
# odprite priljubljeno stran Twitterja
brskalnik.get('https://twitter.com/explore/tabs/trending') - Uporabite zakasnitev, da se vsebina strani v celoti naloži.
# zakasnitev za nalaganje vsebine strani
čas.spati(15) - Ustvarite prazen seznam za shranjevanje hashtagov in deklarirajte zanko, ki teče od 3 do 13, da se ujema s spremenljivko v izrazu XPath od prej.
# inicializirajte seznam za shranjevanje priljubljenih tem in hashtagov
trending_topic_content=[]# zbirajte teme in hashtagove na priljubljeni Twitterjevi strani
za i v območju (3,13): - Uporabi najdi_element() funkcijo in posredujte izbirnik XPath, da dobite priljubljene teme in hashtage na Twitterju:
xpath = f'//div[@aria-label="Časovnica: Raziščite"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
trending_topic = browser.find_element (Avtor. XPATH, xpath)
trending_topic_content.priložiti(trending_topic.besedilo) - Ustvarite prazen seznam za shranjevanje vseh URL-jev in navedite zanko, ki poteka skozi vse hashtags.
Uporabite operator rezine, da izpustite hashtag, da ustvarite njegov URL in zamenjate presledke s kodiranjem URL, %20. Dodajte povezave na seznam.# ustvarite URL-je z uporabo zbranih hashtagov
urls=[]
za jaz v trending_topic_content:če i.začne z("#"):
i = i[1:]
url='https://twitter.com/search? q=%23' + jaz + '&src=trend_klik'
drugače:
url = 'https://twitter.com/search? q=' + jaz + '&src=trend_klik'
url = url.replace("", "%20")
urls.priložiti(url) - Ustvarite slovar para ključ-vrednost s ključi kot hashtagi in vrednostmi kot njihovimi URL-ji.
# ustvarite slovar, ki vsebuje hashtag in URL-je
dic={'Lojtra':trending_topic_content,'URL':urls} - Pretvorite nestrukturiran slovar v tabelarni DataFrame.
# pretvorite slovar v podatkovni okvir v pandah
df=pd. DataFrame (dic)
tiskanje(df) - DataFrame shranite v datoteko CSV, ki si jo lahko ogledate v Microsoft Excelu ali jo obdelate naprej.
# pretvorite podatkovni okvir v obliko vrednosti, ločene z vejico, brez serijskih številk
df.to_csv("Twitter_HashTags.csv",index=False)
Pridobite dragocene vpoglede z uporabo spletnega strganja
Spletno strganje je zmogljiva metoda za pridobivanje želenih podatkov in njihovo analizo za sprejemanje odločitev. Beautiful Soup je impresivna knjižnica, ki jo lahko namestite in uporabite za strganje podatkov iz katere koli datoteke HTML ali XML s pomočjo Pythona.
S tem lahko brskate po internetu in pridobite naslove novic v realnem času, cene izdelkov, športne rezultate, vrednost delnic in drugo.