Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju.
Struganje HTML-a može biti nezgodno, pa se pobrinite da razumijete ovaj proces uz malo prakse Pythona.
Twitter je jedna od najutjecajnijih platformi društvenih medija koja je ikada postojala. Milijuni ljudi, uključujući vrhunske političare, slavne osobe i izvršne direktore, svakodnevno koriste platformu za dijeljenje svojih misli.
Kartica s trendovima jedno je od najboljih mjesta za saznavanje vijesti u stvarnom vremenu i raspoloženja na društvenim mrežama. Možete analizirati i koristiti te podatke za planiranje reklama robnih marki, pokretanje kampanja i povećanje prodaje. Ali kako možete doći do deset najpopularnijih hashtagova na Twitteru?
Proces izgradnje algoritma
Prvi korak u izradi bilo kojeg programa je zabilježiti i razumjeti korake potrebne za izgradnju Twitter strugača. Oni su:
- Otvorite Google Chrome.
- Posjetite Twitterovu stranicu u trendu.
- Prikupite oznake s oznakom # i njihovu vezu na stranicu.
- Spremite podatke u proračunsku tablicu.
Ovo služi kao algoritam izjave problema.
Razumijevanje web stranice Twittera
Morate znati kako web stranica označava svoje podatke prije nego što ih možete izdvojiti. Puno pomaže ako dobro razumijete osnove HTML-a i CSS.
Slijedite ove korake da biste saznali kako Twitter predstavlja trendovski hashtag i njegov URL:
- Posjetiti Twitterova stranica u trendu. Također možete navigirati do Twitter.com → Istražiti → U trendu da ga pogledate.
- Pregledajte glavni stupac pomoću alata Chrome Dev. Ići Izbornik (3 točke)>Više alata >Razvojni alati i zadržite pokazivač alata za odabir elementa iznad trendovskog područja.
- Vremenska traka u trendu je a div s an arija-oznaka atribut čija je vrijednost "Vremenska traka: Istražite". Zadržite pokazivač iznad oznake u Elementi panel za bolje razumijevanje strukture stranice. Još div pohranjuje trendovski hashtag/temu. Upotrijebite ovaj div kao brojač i ponovite sve divove na stranici koja sadrži temu/hashtag u trendu. Sadržaj je pohranjen unutar a raspon ili par elemenata raspona. Promatrajte otvorenu karticu i zabilježite hijerarhiju. Ovo možete koristiti za konstruiranje XPath izraza. XPath izraz za ovaj specifični element je:
Iterirajte i ciljajte div[3], div[4], div[5] itd. Za prvih deset hashtagova, brojač se kreće od 3 do 13. Generalizirani XPath postaje:'//div[@aria-label="Vremenska traka: Istražite"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
//div[@aria-label="Vremenska traka: Istražite"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- Kliknite bilo koji hashtag da biste razumjeli URL njegovih stranica. Ako usporedite URL-ove, primijetit ćete da se samo parametar upita mijenja kako bi odgovarao nazivu hashtaga. Možete koristiti ovaj uvid za izradu URL-ova bez njihovog stvarnog izdvajanja.
Ovaj projekt koristi sljedeće Python module i alate:
1. Pandas modul
Možeš koristite klasu Pandas DataFrame za pohranu hashtagova i njihovih poveznica u tabličnom formatu. To će biti od pomoći kada se radi o dodavanju ovih sadržaja u CSV datoteku koju možete dijeliti izvana.
2. Vremenski modul
Upotrijebite modul Time za dodavanje odgode programu Python kako bi se omogućilo potpuno učitavanje sadržaja stranice. Ovaj primjer koristi odgodu od 15 sekundi, ali možete eksperimentirati i odabrati odgovarajuću odgodu za svoje okolnosti.
3. Selenski modul
Selenium može automatizirati proces interakcije s webom. Možete ga koristiti za upravljanje instancom web preglednika, otvaranje stranice u trendu i pomicanje prema dolje. Da biste instalirali Selenium u svoje Python okruženje, otvorite svoj Terminal i izvršitipip instalirati selenium.
4. Web upravljački program
Koristite upravljački program za web u kombinaciji sa Seleniumom za interakciju s preglednikom. Dostupni su različiti upravljački programi za web ovisno o pregledniku koji želite automatizirati. Za ovu verziju upotrijebite popularni preglednik Google Chrome. Da biste instalirali web upravljački program za Chrome:
- Provjerite verziju preglednika koji koristite tako da posjetite Jelovnik (3 točke) > Pomoć>O pregledniku Google Chrome.
- Zabilježite verziju preglednika; u ovom slučaju, to je 106.0.5249.62.
- Idi na svoju Terminal i tip pip instaliraj chromedriver-binary==version_number:
Ako ne postoji odgovarajuća verzija, pip će vam pokazati popis dostupnih; odaberite onu koja je najbliža vašoj verziji Chromea.pip instalirati chromedriver-binarni==106.0.5249.62
Kako izgraditi Twitter Scraper
Slijedite ove korake kako biste izgradili svoj program i dobili hashtagove u stvarnom vremenu. Cijeli izvorni kod možete pronaći ovdje GitHub spremište.
- Uvezite potrebne module u Python okruženje.
# uvoz potrebnih modula
iz selen uvoz webdriver
izselen.webdriver.uobičajen.pouvozPo
uvoz chromedriver_binary
uvoz vrijeme
uvoz pande kao pd - Stvorite objekt za inicijalizaciju ChromeDrivera i pokretanje preglednika Google Chrome pomoću webdriver. Krom() funkcija.
# otvorite preglednik google chrome
preglednik = webdriver. Krom() - Otvorite Twitterovu stranicu u trendu prosljeđivanjem URL-a na dobiti() funkcija.
# otvorite popularnu stranicu Twittera
preglednik.get('https://twitter.com/explore/tabs/trending') - Primijenite odgodu tako da se sadržaj stranice u potpunosti učita.
# odgoda za učitavanje sadržaja stranice
vrijeme.spavati(15) - Napravite prazan popis za pohranjivanje hashtagova i deklarirajte petlju koja se pokreće od 3 do 13 kako bi odgovarala varijabli u XPath izrazu od prije.
# inicijalizirajte popis za pohranu trendovskih tema i hashtagova
trending_topic_content=[]# prikupljajte teme i hashtagove na popularnoj Twitter stranici
za i u rasponu (3,13): - Koristiti nađi_element() funkciju i proslijedite selektor XPath da biste dobili trendovske teme i hashtagove na Twitteru:
xput = f'//div[@aria-label="Vremenska traka: Istražite"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
trending_topic = browser.find_element (Autor. XPATH, xpath)
trending_topic_content.dodati(popularna tema.tekst) - Napravite prazan popis za pohranu svih URL-ova i deklarirajte petlju koja prolazi kroz sve hashtagove.
Upotrijebite operator odsječka da biste izostavili hashtag da biste stvorili njegov URL i zamijenili razmake kodiranjem URL-a, %20. Dodajte poveznice na popis.# izradite URL-ove pomoću prikupljenih hashtagova
urls=[]
za mene u trending_topic_content:if i.starts with("#"):
i = i[1:]
url='https://twitter.com/search? q=%23' + ja + '&src=trend_klik'
drugo:
url = 'https://twitter.com/search? q=' + ja + '&src=trend_klik'
url = url.replace("", "%20")
URL-ovi.dodati(url) - Stvorite rječnik para ključ-vrijednost s ključevima kao hashtagovima i vrijednostima kao njihovim URL-ovima.
# izradite rječnik koji ima i hashtag i URL-ove
dic={'HashTag':trending_topic_content,'URL':urls} - Pretvorite nestrukturirani rječnik u tablični DataFrame.
# pretvorite rječnik u podatkovni okvir u pandama
df=pd. DataFrame (dic)
ispisati(df) - Spremite DataFrame u CSV datoteku koju možete pregledati u Microsoft Excelu ili dalje obraditi.
# pretvorite podatkovni okvir u format vrijednosti odvojenih zarezima bez serijskih brojeva
df.to_csv("Twitter_HashTags.csv",index=False)
Steknite vrijedne uvide pomoću Web Scrapinga
Web scraping moćna je metoda za dobivanje željenih podataka i njihovu analizu za donošenje odluka. Beautiful Soup je impresivna biblioteka koju možete instalirati i koristiti za struganje podataka iz bilo koje HTML ili XML datoteke pomoću Pythona.
S ovime možete pretražiti internet kako biste dobili naslove vijesti u stvarnom vremenu, cijene proizvoda, sportske rezultate, vrijednost dionica i još mnogo toga.