Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti.
Seškrabávání HTML může být nešikovné, takže se ujistěte, že tomuto procesu rozumíte s trochou praxe v Pythonu.
Twitter je jednou z nejvlivnějších platforem sociálních médií, která kdy existovala. Miliony lidí včetně vrcholných politiků, celebrit a generálních ředitelů používají platformu ke sdílení svých myšlenek každý den.
Karta Trendy je jedním z nejlepších míst, kde můžete zjistit zprávy v reálném čase a sentiment sociálních médií. Tato data můžete analyzovat a použít k plánování reklam na značku, spuštění kampaní a zvýšení prodeje po záhybech. Ale jak můžete získat deset nejoblíbenějších hashtagů na Twitteru?
Proces vytváření algoritmu
Prvním krokem k vytvoření jakéhokoli programu je poznamenat si a pochopit kroky potřebné k vytvoření škrabky Twitter. Oni jsou:
- Otevřete Google Chrome.
- Navštivte stránku s trendy na Twitteru.
- Shromážděte hashtagy a příslušný odkaz na stránku.
- Uložte data do tabulky.
To slouží jako algoritmus zadání problému.
Porozumění webové stránce Twitter
Než je budete moci extrahovat, musíte vědět, jak webová stránka označuje svá data. Hodně pomáhá, když tomu dobře rozumíte základy HTML a CSS.
Chcete-li zjistit, jak Twitter představuje populární hashtag a jeho adresu URL, postupujte takto:
- Návštěva Trendová stránka Twitteru. Můžete také přejít na Twitter.com → Prozkoumat → Trendy zobrazit.
- Zkontrolujte hlavní sloup pomocí nástrojů Chrome Dev Tools. Jít do Menu (3 tečky)>Další nástroje >Vývojářské nástroje a umístěte nástroj pro výběr prvku nad oblast trendů.
- Trendová časová osa je a div s árie-štítek atribut, jehož hodnota je "Časová osa: Prozkoumat". Umístěte ukazatel myši na značku v Elementy panel pro lepší pochopení struktury stránky. Další div ukládá trendový hashtag/téma. Použijte tento div jako počítadlo a iterujte ke všem divům na stránce obsahující trendové téma/hashtag. Obsah je uložen v a rozpětí nebo pár prvků rozpětí. Sledujte otevřenou kartu a poznamenejte si hierarchii. Můžete to použít k vytvoření výrazu XPath. Výraz XPath pro tento konkrétní prvek je:
Iterujte a zacilte div[3], div[4], div[5] a tak dále. U prvních deseti hashtagů je počítadlo od 3 do 13. Zobecněná XPath se stává:'//div[@aria-label="Časová osa: Prozkoumat"]/div[1]/div[3]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
//div[@aria-label="Časová osa: Prozkoumat"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
- Kliknutím na libovolný hashtag zjistíte adresu URL jeho stránek. Pokud porovnáte adresy URL, měli byste si všimnout, že se mění pouze parametr dotazu, aby odpovídal názvu hashtagu. Tento přehled můžete použít k sestavení adres URL, aniž byste je skutečně extrahovali.
Tento projekt používá následující moduly a nástroje Pythonu:
1. Modul Pandas
Můžeš použijte třídu Pandas DataFrame ukládat hashtagy a jejich příslušné odkazy v tabulkovém formátu. To bude užitečné, pokud jde o přidání tohoto obsahu do souboru CSV, který můžete sdílet externě.
2. Časový modul
Pomocí modulu Time přidejte do programu Python zpoždění, aby se obsah stránky mohl plně načíst. Tento příklad používá zpoždění 15 sekund, ale můžete experimentovat a vybrat si vhodné zpoždění pro vaše okolnosti.
3. Selenový modul
Selen dokáže automatizovat proces interakce s webem. Můžete jej použít k ovládání instance webového prohlížeče, otevření stránky trendů a posouvání dolů. Chcete-li nainstalovat Selenium do prostředí Pythonu, otevřete svůj Terminál a provéstpip install selen.
4. Webový ovladač
Pro interakci s prohlížečem použijte webový ovladač v kombinaci se Selenium. V závislosti na prohlížeči, který chcete automatizovat, jsou k dispozici různé webové ovladače. Pro tuto sestavu použijte oblíbený prohlížeč Google Chrome. Instalace webového ovladače pro Chrome:
- Zkontrolujte verzi prohlížeče, který používáte, na stránce Jídelní lístek (3 tečky) > Nápověda>O Google Chrome.
- Poznamenejte si verzi prohlížeče; v tomto případě je to 106.0.5249.62.
- Jděte do svého Terminál a typ pip install chromedriver-binary==číslo_verze:
Pokud neexistuje žádná odpovídající verze, pip vám zobrazí seznam dostupných; vyberte ten, který je nejblíže vaší chromované verzi.pip Nainstalujte ovladač chrome-binární==106.0.5249.62
Jak vytvořit Twitter Scraper
Postupujte podle těchto kroků a sestavte svůj program a získejte trendy hashtagy v reálném čase. Kompletní zdrojový kód najdete v tomto Úložiště GitHub.
- Importujte požadované moduly do prostředí Pythonu.
# import požadovaných modulů
z selen import webový ovladač
zselen.webdriver.běžný.podleimportPodle
import chromedriver_binary
import čas
import pandy tak jako pd - Vytvořte objekt pro inicializaci ChromeDriver a spusťte prohlížeč Google Chrome pomocí webový ovladač. Chrome() funkce.
# otevřete prohlížeč google chrome
prohlížeč = webový ovladač. Chrome() - Otevřete stránku trendů Twitteru předáním její adresy URL dostat() funkce.
# otevřete trendovou stránku Twitteru
browser.get('https://twitter.com/explore/tabs/trending') - Použijte zpoždění, aby se obsah stránky načetl úplně.
# zpoždění pro načítání obsahu stránky
čas.spát(15) - Vytvořte prázdný seznam pro uložení hashtagů a deklarujte smyčku, která běží od 3 do 13, aby odpovídala proměnné ve výrazu XPath z předchozího.
# inicializovat seznam pro ukládání populárních témat a hashtagů
trending_topic_content=[]# sbírejte témata a hashtagy na oblíbené stránce Twitteru
pro i v rozsahu (3,13): - Použijte find_element() funkci a projít selektorem XPath, abyste získali populární témata a hashtagy na Twitteru:
xpath = f'//div[@aria-label="Časová osa: Prozkoumat"]/div[1]/div[{i}]/div[1]/div[1]/div[1]/div[1]/div[2]/span[1]'
trending_topic = browser.find_element (podle XPATH, xpath)
trending_topic_content.připojit(trendové_téma.text) - Vytvořte prázdný seznam pro uložení všech adres URL a deklarujte smyčku, která prochází všemi hashtagy.
Pomocí operátoru slice vynechejte hashtag, vytvořte jeho URL a nahraďte mezery kódováním URL, %20. Přidejte odkazy do seznamu.# vytvořte adresy URL pomocí shromážděných hashtagů
urls=[]
pro i v trending_topic_content:pokud i.startswith("#"):
i = i[1:]
url='https://twitter.com/search? q=%23' + i + '&src=trend_click'
jiný:
url = 'https://twitter.com/search? q=' + i + '&src=trend_click'
url = url.replace("", "%20")
adresy URL.připojit(url) - Vytvořte slovník párů klíč–hodnota s klíči jako hashtagy a hodnotami jako jejich URL.
# vytvořte slovník, který má hashtag i adresy URL
dic={'HashTag':trending_topic_content,'URL':urls} - Převeďte nestrukturovaný slovník na tabulkový DataFrame.
# převést slovník na datový rámec v pandách
df=pd. DataFrame (dic)
tisk(df) - Uložte DataFrame do souboru CSV, který můžete zobrazit v aplikaci Microsoft Excel nebo dále zpracovávat.
# převést datový rámec do formátu hodnoty oddělené čárkami bez sériových čísel
df.to_csv("Twitter_HashTags.csv",index=False)
Získejte cenné poznatky pomocí Web Scraping
Web scraping je výkonná metoda, jak získat požadovaná data a analyzovat je za účelem rozhodování. Beautiful Soup je působivá knihovna, kterou si můžete nainstalovat a použít k seškrabování dat z libovolného souboru HTML nebo XML pomocí Pythonu.
Díky tomu můžete procházet internet a získávat titulky zpráv v reálném čase, ceny produktů, sportovní výsledky, hodnotu akcií a další.