Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską.

Przez Sai Ashish Konchada
UdziałĆwierkaćUdziałE-mail

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ą:

  1. Otwórz Google Chrome.
  2. Odwiedź stronę trendów na Twitterze.
  3. Zbierz hashtagi i odpowiedni link do strony.
  4. 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:

  1. Odwiedzać Popularna strona Twittera. Możesz także przejść do Twitter.comBadaćPopularne aby to zobaczyć.
  2. 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.
  3. 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:
    '//div[@aria-label="Oś czasu: Eksploruj"]/dział[1]/dział[3]/dział[1]/dział[1]/dział[1]/dział[1]/dział[2]/rozpiętość[1]'
    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ł[{i}]/dział[1]/dział[1]/dział[1]/dział[1]/dział[2]/rozpiętość[1]'
  4. 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:

  1. Sprawdź wersję używanej przeglądarki, odwiedzając stronę Menu (3 kropki) > Pomoc>O google chrome.
  2. Zwróć uwagę na wersję przeglądarki; w tym przypadku jest to 106.0.5249.62.
  3. Idź do swojego Terminal i wpisz pip zainstaluj chromedriver-binary==numer_wersji:
    pypeć zainstalować chromedriver-dwójkowy==106.0.5249.62
    Jeśli nie ma pasującej wersji, pip wyświetli listę dostępnych wersji; wybierz tę najbliższą Twojej wersji Chrome.

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.

  1. 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
  2. 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()
  3. 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')
  4. Zastosuj opóźnienie, aby zawartość strony została w pełni załadowana.
    # opóźnienie ładowania zawartości strony
    czas.spać(15)
  5. 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):

  6. 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)
  7. Utwórz pustą listę do przechowywania wszystkich adresów URL i zadeklaruj pętlę, która przebiega przez wszystkie hashtagi.
    # twórz adresy URL za pomocą zebranych hashtagów
    adresy URL=[]
    dla i w trending_topic_content:
    Użyj operatora plasterka, aby pominąć hashtag, aby utworzyć jego adres URL i zastąpić spacje kodowaniem adresu URL, %20. Dodaj linki do listy.
    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)
  8. 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}
  9. Przekonwertuj nieustrukturyzowany słownik na tabelaryczną ramkę danych.
    # przekonwertuj słownik na ramkę danych w pandach
    df=pd. DataFrame (dic)
    wydrukować(df)
  10. 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.

Zeskrob stronę internetową za pomocą tego pięknego samouczka Pythona do zupy

Przeczytaj Dalej

UdziałĆwierkaćUdziałE-mail

Powiązane tematy

  • Programowanie
  • Programowanie
  • Pyton
  • Tworzenie stron internetowych
  • Skrobanie sieci
  • Świergot

O autorze

Sai Ashish Konchada (3 opublikowane artykuły)

Sai Ashish jest programistą Full Stack z doświadczeniem w branży w tworzeniu stron internetowych i aplikacji internetowych. Uwielbia tworzyć innowacyjne produkty i pisać wnikliwe artykuły na temat programowania.

Więcej od Sai Ashish Konchady

Komentarz

Zapisz się do naszego newslettera

Dołącz do naszego biuletynu, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i wyjątkowe oferty!

Kliknij tutaj, aby subskrybować

Na przewodzie

modne teraz