Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską.
Skrobanie kodu HTML może być kłopotliwe, więc upewnij się, że rozumiesz ten proces po odrobinie praktyki w Pythonie.
Twitter to jedna z najbardziej wpływowych platform mediów społecznościowych, jakie kiedykolwiek istniały. Miliony ludzi, w tym czołowi politycy, celebryci i dyrektorzy generalni, codziennie korzystają z platformy, aby dzielić się swoimi przemyśleniami.
Zakładka Trendy to jedno z najlepszych miejsc, w których można znaleźć wiadomości w czasie rzeczywistym i nastroje w mediach społecznościowych. Możesz analizować i wykorzystywać te dane do planowania reklam marki, prowadzenia kampanii i zwiększania sprzedaży. Ale jak zdobyć dziesięć najpopularniejszych hashtagów na Twitterze?
Proces budowania algorytmu
Pierwszym krokiem do zbudowania dowolnego programu jest zanotowanie i zrozumienie kroków wymaganych do zbudowania skrobaka na Twitterze. Oni są:
- Otwórz Google Chrome.
- Odwiedź stronę trendów na Twitterze.
- Zbierz hashtagi i odpowiedni link do strony.
- Zapisz dane w arkuszu kalkulacyjnym.
Służy to jako algorytm sformułowania problemu.
Zrozumienie strony internetowej Twittera
Musisz wiedzieć, w jaki sposób strona internetowa oznacza swoje dane, zanim będzie można je wyodrębnić. To bardzo pomaga, jeśli masz dobre zrozumienie podstawy HTMLa i CSS.
Wykonaj następujące kroki, aby dowiedzieć się, w jaki sposób Twitter reprezentuje popularny hashtag i jego adres URL:
- Odwiedzać Popularna strona Twittera. Możesz także przejść do Twitter.com → Badać → Popularne aby to zobaczyć.
- Sprawdź główną kolumnę za pomocą Chrome Dev Tools. Iść do Menu (3 kropki)>Więcej narzędzi >Narzędzia deweloperskie i umieść narzędzie selektora elementów nad obszarem trendów.
- Oś czasu trendów to a dz z aria-label atrybut, którego wartością jest „Oś czasu: eksploruj”. Najedź kursorem na znaczniki w pliku Elementy panelu, aby lepiej zrozumieć strukturę strony. Inny dz przechowuje popularny hashtag/temat. Użyj tego elementu div jako licznika i przejrzyj wszystkie elementy div na stronie zawierające popularny temat/hashtag. Treść jest przechowywana w Zakres lub kilka elementów rozpiętości. Obserwuj otwartą kartę i zanotuj hierarchię. Możesz użyć tego do skonstruowania wyrażenia XPath. Wyrażenie XPath dla tego konkretnego elementu to:
Iteruj i celuj div[3], div[4], div[5] i tak dalej. Dla dziesięciu najlepszych hashtagów licznik działa od 3 do 13. Uogólniona XPath staje się:'//div[@aria-label="Oś czasu: Eksploruj"]/dział[1]/dział[3]/dział[1]/dział[1]/dział[1]/dział[1]/dział[2]/rozpiętość[1]'
//div[@aria-label="Oś czasu: Eksploruj"]/dział[1]/dział[{i}]/dział[1]/dział[1]/dział[1]/dział[1]/dział[2]/rozpiętość[1]'
- Kliknij dowolny hashtag, aby zrozumieć adres URL jego stron. Jeśli porównasz adresy URL, powinieneś zauważyć, że zmienia się tylko parametr zapytania, aby pasował do nazwy hashtagu. Możesz wykorzystać tę wiedzę do tworzenia adresów URL bez faktycznego ich wyodrębniania.
Ten projekt wykorzystuje następujące moduły i narzędzia Pythona:
1. Moduł Pandy
Możesz użyj klasy Pandas DataFrame do przechowywania hashtagów i odpowiednich linków w formacie tabelarycznym. Będzie to pomocne, jeśli chodzi o dodawanie tych treści do pliku CSV, który można udostępnić na zewnątrz.
2. Moduł czasu
Użyj modułu Czas, aby dodać opóźnienie do programu w języku Python, aby umożliwić pełne załadowanie zawartości strony. W tym przykładzie zastosowano opóźnienie 15 sekund, ale możesz poeksperymentować i wybrać opóźnienie odpowiednie do okoliczności.
3. Moduł selenowy
Selenium może zautomatyzować proces interakcji z siecią. Możesz go użyć do kontrolowania instancji przeglądarki internetowej, otwierania strony trendów i przewijania jej w dół. Aby zainstalować Selenium w środowisku Pythona, otwórz swój Terminal i wykonaćpip zainstaluj selen.
4. Sterownik sieciowy
Użyj sterownika sieciowego w połączeniu z Selenium do interakcji z przeglądarką. Dostępne są różne sterowniki sieciowe w zależności od przeglądarki, którą chcesz zautomatyzować. W przypadku tej kompilacji użyj popularnej przeglądarki Google Chrome. Aby zainstalować sterownik sieciowy dla Chrome:
- Sprawdź wersję używanej przeglądarki, odwiedzając stronę Menu (3 kropki) > Pomoc>O google chrome.
- Zwróć uwagę na wersję przeglądarki; w tym przypadku jest to 106.0.5249.62.
- Idź do swojego Terminal i wpisz pip zainstaluj chromedriver-binary==numer_wersji:
Jeśli nie ma pasującej wersji, pip wyświetli listę dostępnych wersji; wybierz tę najbliższą Twojej wersji Chrome.pypeć zainstalować chromedriver-dwójkowy==106.0.5249.62
Jak zbudować skrobak na Twitterze
Wykonaj poniższe kroki, aby zbudować swój program i uzyskać popularne hashtagi w czasie rzeczywistym. W tym można znaleźć pełny kod źródłowy Repozytorium GitHub.
- Zaimportuj wymagane moduły do środowiska Python.
# importowanie wymaganych modułów
z selen import webdriver
zselen.webdriver.wspólny.przezimportPrzez
import chromedriver_binary
import czas
import pandy Jak pd - Utwórz obiekt, aby zainicjować ChromeDriver i uruchomić przeglądarkę Google Chrome za pomocą webdriver. Chrom() funkcjonować.
# otwórz przeglądarkę Google Chrome
przeglądarka = webdriver. Chrom() - Otwórz stronę trendów na Twitterze, przekazując jej adres URL do Dostawać() funkcjonować.
# otwórz stronę trendów na Twitterze
przeglądarka.get('https://twitter.com/explore/tabs/trending') - Zastosuj opóźnienie, aby zawartość strony została w pełni załadowana.
# opóźnienie ładowania zawartości strony
czas.spać(15) - Utwórz pustą listę do przechowywania hashtagów i zadeklaruj pętlę, która działa od 3 do 13, aby dopasować zmienną w wyrażeniu XPath z poprzedniego.
# Zainicjuj listę do przechowywania popularnych tematów i hashtagów
trendy_topic_content=[]# zbieraj tematy i hashtagi na popularnej stronie Twittera
dla i w zakresie (3,13): - Użyj znajdź_element() i przekaż selektor XPath, aby uzyskać popularne tematy i hashtagi na Twitterze:
xścieżka = f'//div[@aria-label="Oś czasu: Eksploruj"]/dział[1]/dział[{i}]/dział[1]/dział[1]/dział[1]/dział[1]/dział[2]/rozpiętość[1]'
trending_topic = browser.find_element (według XPATH, xpath)
trendy_topic_content.dodać(trendy_topic.tekst) - Utwórz pustą listę do przechowywania wszystkich adresów URL i zadeklaruj pętlę, która przebiega przez wszystkie hashtagi.
Użyj operatora plasterka, aby pominąć hashtag, aby utworzyć jego adres URL i zastąpić spacje kodowaniem adresu URL, %20. Dodaj linki do listy.# twórz adresy URL za pomocą zebranych hashtagów
adresy URL=[]
dla i w trending_topic_content:jeśli i.zaczyna się od("#"):
ja = ja[1:]
adres URL='https://twitter.com/search? q=%23' + ja + '&src=kliknięcie_trendu'
w przeciwnym razie:
adres URL = 'https://twitter.com/search? q=' + ja + '&src=kliknięcie_trendu'
url = url.zastąp("", "%20")
adresy URL.dodać(adres URL) - Utwórz słownik par klucz-wartość z kluczami jako hashtagami i wartościami jako ich adresami URL.
# utwórz słownik, który zawiera zarówno hashtag, jak i adresy URL
dic={'HashTag':trending_topic_content,'Adres URL':adresy URL} - Przekonwertuj nieustrukturyzowany słownik na tabelaryczną ramkę danych.
# przekonwertuj słownik na ramkę danych w pandach
df=pd. DataFrame (dic)
wydrukować(df) - Zapisz ramkę DataFrame w pliku CSV, który możesz wyświetlić w programie Microsoft Excel lub dalej przetwarzać.
# przekonwertować ramkę danych na format wartości rozdzielanych przecinkami bez numerów seryjnych
df.to_csv("Twitter_HashTags.csv",indeks=Fałsz)
Zdobądź cenne informacje, korzystając z funkcji Web Scraping
Web scraping to potężna metoda uzyskiwania pożądanych danych i analizowania ich w celu podejmowania decyzji. Beautiful Soup to imponująca biblioteka, którą możesz zainstalować i używać do zeskrobywania danych z dowolnego pliku HTML lub XML za pomocą Pythona.
Dzięki temu możesz przeszukiwać Internet, aby uzyskać nagłówki wiadomości w czasie rzeczywistym, ceny produktów, wyniki sportowe, wartość akcji i nie tylko.