Jak zbudować niestandardowy robot indeksujący za pomocą Colab i advertools

Opublikowany: 2022-05-25

W tym filmie będziemy rozmawiać o tym, jak możemy stworzyć własny niestandardowy robot indeksujący za pomocą Google Colab, Advertools i kilku innych bibliotek Pythona. Zanim się przestraszysz lub wyrwiesz, nie rób tego. Weź głęboki oddech. Będzie w porządku. Nawet nie głoszę, że jestem koderem, ale jestem całkiem niezły w kopiowaniu i wklejaniu. Wiem, że możesz używać tego przycisku Ctrl+C równie dobrze, jak ja. Przyjrzyjmy się, jak możemy stworzyć własny niestandardowy robot SEO i jak możemy go wykorzystać, aby pomóc nam rozwiązać niektóre unikalne problemy.

Zasoby

  • Uzyskaj dostęp do Colab tutaj.
  • Dowiedz się więcej o Advertools tutaj.

Transkrypcja wideo:

Przyjrzyjmy się, jak możemy zbudować niestandardowy robot indeksujący za pomocą Google Colab, a także Advertools, biblioteki Python.

Co to jest robot SEO (pająk)?

Roboty indeksujące to narzędzia, które mogą indeksować strony internetowe w podobny sposób, jak robiłaby to wyszukiwarka, i pomagają nam uzyskać cenne informacje dotyczące SEO. Pomaga nam zobaczyć witrynę internetową, sposób, w jaki Google, Bing lub inne wyszukiwarki widziałyby naszą witrynę. Są narzędzia, które to robią. Istnieje wiele narzędzi, które to robią, najpopularniejszym jest prawdopodobnie Screaming Frog SEO Spider i jest to narzędzie, które kochamy i używamy przez cały czas, ale czasami potrzebujemy niestandardowego rozwiązania.

Dlaczego miałbyś stworzyć własnego robota?

Większość robotów „z półki” robi niesamowite rzeczy, ale czasami masz konkretne pytanie, na które trzeba odpowiedzieć, i możesz utworzyć niestandardowy robot, aby kontrolować wszystkie wyniki. Otrzymujesz tylko te dane, których chcesz lub potrzebujesz. W ten sposób nie musisz ograniczać się do konfiguracji narzędzia, ale możesz uruchomić szybkie indeksowanie witryny lub pobrać tylko jedną informację lub pobrać całą masę informacji i uporządkować je w inny sposób, korzystając z Colab i Pyton.

Co to są narzędzia reklamowe?

Advertools to biblioteka Pythona, która pozwala robić wiele rzeczy. Możesz indeksować strony internetowe, generować słowa kluczowe dla kampanii marketingowych w wyszukiwarkach, tworzyć reklamy tekstowe, analizować SERP, uzyskiwać wgląd w posty w mediach społecznościowych i robić o wiele więcej. To niezwykle elastyczna biblioteka. Robi wiele fajnych rzeczy i jest dość prosty w użyciu.

Nie nazwałbym siebie programistą. Powiedziałbym tylko, że jestem przyzwoity w kopiowaniu i wklejaniu. Mimo że nie jestem dogłębnym programistą Pythona, udało mi się uzyskać wiele korzyści z używania narzędzia takiego jak Advertools.

Co my zrobimy

Oto, co zamierzamy zrobić w tym filmie.

  1. Utwórz nowy plik Colab i zainstaluj Advertools
  2. Stwórz niestandardowego robota za pomocą advertools
  3. Przeszukuj i analizuj witrynę oraz dane
  4. Wizualizuj niektóre z tych wyników za pomocą innej biblioteki Pythona o nazwie Plotly
  5. Eksportuj dane

Krok 1: Utwórz plik Colab i zainstaluj Advertools

Google Colab to narzędzie, które pozwoli Ci zrobić wiele fajnych rzeczy. Umożliwia uruchamianie kodu w komórkach w celu budowania tabel, budowania własnych programów, robienia niestandardowych rzeczy, od uczenia maszynowego po SEO i nie tylko. Jeśli nigdy wcześniej go nie używałeś, jest bezpłatny i pozwala bezpłatnie korzystać z mocy obliczeniowej Google. To bardzo fajne, więc bardzo polecam to sprawdzić.

Jeśli nie korzystasz jeszcze z CoLab, znajdziesz tutaj wiele świetnych zasobów. Jedną z rzeczy, które musisz zrobić, aby korzystać z biblioteki spoza Pythona, jest naturalna instalacja. Musisz zainstalować ten program. W większości przypadków używasz funkcji o nazwie PIP, a następnie pobierasz tę nową bibliotekę. Jest to dość prosty proces w użyciu.

Jedną z rzeczy, które robią wszyscy ci goście, którzy tworzą te programy, jest to, że pokazują dokładnie, jak to skonfigurować w swoich dokumentach. Dlatego zawsze czytaj te dokumenty, a to pozwoli ci zrozumieć: „Jak zaimportować te narzędzia i sprawić, by te narzędzia działały dla mnie?”

Aby zainstalować Advertools, użyjemy tego wiersza kodu tutaj:

!pip install advertools

Po umieszczeniu kodu tutaj w bloku komórkowym w CoLab, idź dalej i naciśnij przycisk odtwarzania. Wykona ten blok kodu. Powinieneś zobaczyć coś takiego, gdzie instaluje kod i cały pakiet tutaj, abyśmy mogli teraz użyć tej biblioteki do zbudowania naszego robota. Gdy zobaczysz zielony znacznik wyboru, wiesz, że to koniec.

Krok 2: Utwórz niestandardowego robota indeksującego za pomocą Advertools

Następnie będziemy chcieli wykonać nowy wiersz kodu.

import advertools as adv
from advertools import crawl
import pandas as pd
 

Możesz iść dalej i nacisnąć przycisk kodu tutaj, a on zapełni ten nowy. Zamierzamy zaimportować niektóre określone części biblioteki Advertools. Importujemy narzędzia reklamowe, importujemy metodę indeksowania. Importujemy też coś, co nazywa się pandami. Dla tych z Was, którzy nie są zaznajomieni z Pythonem, pandy pozwalają nam pracować z naszymi danymi wewnątrz ramek danych, w zasadzie tworząc tabele w Pythonie.

Gdy już to wszystko ustawisz, możesz uruchomić swój kod ponownie. Spowoduje to zaimportowanie wszystkich tych informacji. Jeśli budujemy indeksowanie, zauważysz tutaj, że mówimy o tym, jak możemy to zrobić, jak możemy zaimportować te indeksowania. Istnieje kilka podejść; możesz zaimportować Advertools tak jak my i uruchomić ten wiersz poleceń, który zrobi to, co robimy.

Lubię sprawić, by Colab był trochę łatwiejszy w użyciu na wypadek, gdyby ktoś z mojego zespołu również chciał go wykorzystać. Zrobimy coś nieco innego niż to, co tutaj pokazują. Ale jeśli będziesz postępować zgodnie z tym podejściem, zrobisz to dobrze i również zadziała.

site = "https://simplifiedsearch.net/" #@param {type:"string"}

crawl(site, 'simp.jl' , follow_links= True )
crawl_df = pd.read_json( 'simp.jl' , lines= True )
crawl_df.head()
 

To, co zamierzamy zrobić, to ten wiersz kodu. Pierwszą rzeczą, którą robimy, jest zdefiniowanie zmiennej, a zmienna będzie stroną, którą chcemy zaindeksować. Używając tego ciągu typu param, daje mi pole tutaj, które następnie pozwala mi wpisać tutaj, jaką witrynę chcę zaindeksować. Tutaj mogę umieścić swoją stronę internetową. Mogę tu umieścić dowolną stronę internetową, a ona ustawi dla mnie tę zmienną. W ten sposób nie muszę tego tutaj wpisywać. Mogę po prostu wpisać to w formularz, a ktoś, kto nie czuje się tak komfortowo w klikaniu wewnątrz komórki, może po prostu przejść tutaj i wpisać stronę.

W tym przypadku użyjemy naszej uproszczonej witryny wyszukiwania tylko dlatego, że używalibyśmy jej cały czas. Pójdziemy dalej i wkleimy to tutaj. Zaraz poniżej przestrzegamy dokładnie tych samych zasad, które oni ustanowili tutaj. Używamy Advertools.crawl, a następnie używamy witryny jako naszej zmiennej. Mamy plik wyjściowy. Następnie chcemy, aby podążał za linkami w witrynie.

Wykonujemy również następny krok, w którym ustawiamy ramkę danych indeksowania i mówimy jej, aby otworzyła nasz plik wyjściowy, ponieważ będzie on wyprowadzany w formacie JSON. Pandy przeczytają JSON i stworzą dla nas ramkę danych. Na koniec mówię nam tylko, abyśmy pokazali nagłówek tej ramki danych, aby upewnić się, że wszystko działa zgodnie z zamierzeniami. Gdy wykonamy ten krok i uruchomimy tę komórkę, zaczniemy indeksować witrynę i wykonamy zrzut danych poniżej, dzięki czemu będziemy mogli zobaczyć wszystkie różne funkcje w ramach tego indeksowania.

Idę dalej i kieruję tą komórką. Może to potrwać kilka minut tylko dlatego, że wykonuje indeksowanie całej witryny. Gdy skończymy, porozmawiamy o tym, jak możemy wykorzystać dane indeksowania, aby wydobyć określone informacje.

Krok 3: Indeksuj i analizuj witrynę oraz dane

Teraz witryna przeszła indeksowanie i widać, że mam listę adresów URL, tytułów, opisów meta, punktu widzenia, zestawu znaków, H1s, H2s i H3s. Wszystkie te informacje są umieszczane w tej ramce. Jeśli chcesz, aby było trochę czyściej, możesz nacisnąć ten magiczny przycisk tutaj, a Google przeniesie te dane tutaj do nieco łatwiejszej ramki danych do pracy. Mam tutaj całkowitą liczbę kolumn 266. To dużo kolumn, z którymi mogę pracować.

Możesz zadać sobie pytanie, co jest we wszystkich tych kolumnach. Możemy wrócić tutaj do narzędzi reklamowych i zobaczyć wszystkie różne elementy. Istnieje sporo danych eksportowych, które możemy przeglądać i pobierać wiele fajnych informacji.

Jeśli chcemy zobaczyć listę wszystkich dostępnych kolumn, możemy uruchomić ten kod:

columns = list (crawl_df)
columns
 

Najpierw musimy wziąć kolumny i stworzyć z nich listę. Użyjemy listy kodów, a następnie umieścimy nawiasy i wewnątrz ich crawl_DF, czyli nazwę naszej ramki danych, i wywołamy nowe kolumny listy. Tutaj mamy kolumny, uruchamiamy tę komórkę i możesz zobaczyć wszystkie te różne możliwe kolumny. To całkiem sporo informacji, jak widać, szuka całej masy informacji.

A co, jeśli chcesz zobaczyć tylko część tych informacji? Co by było, gdybyś chciał tylko uzyskać wszystkie tytuły lub wszystkie metaopisy lub niektóre informacje z tagów H, a może chciałbyś zobaczyć wszystkie strony i rodzaj znaczników schema.org, które możesz na nich umieścić. Tutaj przydaje się posiadanie czegoś takiego jak Advertools.

Załóżmy, że chcieliśmy przyjrzeć się typom JSON-LD na naszych stronach.

json_df = crawl_df[[ 'url' , 'jsonld_@type' ]]
json_df
 

Możemy zacząć od nowego kodu. Przejdźmy dalej i stwórzmy nową ramkę danych o nazwie JSON-DF. Chcemy uzyskać informacje z naszej oryginalnej ramki danych. Pierwszą rzeczą, którą będziemy chcieli zrobić, to zejdę tutaj trochę, aby ułatwić wszystkim czołganie się, _DF. Użyjemy nawiasu i innego nawiasu.

Pierwszą rzeczą, którą chcemy wyciągnąć, jest adres URL. Wiemy, że adres URL jest ważny, ponieważ musimy znać wszystkie strony w naszej witrynie, wszystkie adresy URL. Następną rzeczą, którą chcemy zrobić, jest znalezienie typu JSON. Możemy wrócić do tej listy i możemy przejść do typu JSON, skopiować to i powiedzieć, że chcę również poznać typ JSON. Zamierzam iść dalej i zachować spójność, w ten sposób będziemy postępować zgodnie z najlepszymi praktykami. Co robimy w tej małej linijce tutaj? Powiedzieliśmy „utwórz nową ramkę danych” i użyj danych z naszej oryginalnej bazy danych, z naszej oryginalnej ramki danych i wycofaj tylko adresy URL i typy JSON-LD.

Jeśli to uruchomię, utworzy nową ramkę danych z właśnie tymi informacjami. Aby zobaczyć te dane, mogę po prostu iść dalej, wstawić JSON_DF, zrobić nową komórkę i nacisnąć Enter. Daje mi listę wszystkich moich stron i typów znaczników skojarzonych z tymi konkretnymi stronami. Może to być bardzo pomocne, jeśli chcesz szybko przejrzeć i znaleźć wszystkie JSON w swojej witrynie, jakie masz typy i jakie masz znaczniki.

Co więcej, czy masz jakieś strony, na których brakuje znaczników? Możesz je szybko zidentyfikować. Mamy te nowe dane, w których mamy wszystkie nasze adresy URL i wszystkie nasze typy JSON-LD, o których wiemy, że istnieją na tej stronie.

Krok 4: Wizualizuj wyniki

Załóżmy, że chcemy utworzyć szybki raport lub wykres, który pokaże klientowi lub innej osobie ilość informacji i danych, które dla niego dodaliśmy do tej witryny oraz różne ich typy.

Pierwszą rzeczą, którą muszę zrobić, to policzyć wszystkie różne typy adiustacji, które zostały dodane, a następnie mogę je zwizualizować. Zacznijmy od zliczenia tego i utworzenia nowej ramki danych. Stworzyłem już ten kod i zamierzam Cię przez niego przeprowadzić:

json_counts = json_df[ 'jsonld_@type' ].value_counts()
json_counts = json_counts.reset_index()
json_counts

Nazywa się to liczbami JSON. To jest nowa ramka danych. Tutaj pobieramy dane z kolumny JSON-LD. Zliczamy unikalne wartości, które są w tej kolumnie. Kiedy uruchomię ten kod, a potem powiem mu, żeby go wypisał, zobaczycie, że mamy policzone wszystkie te informacje.

To, co robi, to to, że wyświetla mi ten błąd, ponieważ znajduje na liście jakieś zera lub jakiś NAS. W porządku, ponieważ za chwilę zobaczysz, że mamy tutaj te informacje. Oto różne typy znaczników i wszystko zostało dla nas opracowane.

Zauważasz też, że nie wygląda to jak ramka danych, jak tutaj. Musimy ponownie zaindeksować tę ramkę danych lub tę zmienną do ramki danych, aby działała poprawnie. Przekażemy naszą ramkę danych i uruchomimy ten kod:

json_counts = json_counts.reset_index()

 

Kiedy to uruchomimy, zobaczysz, że mamy ramkę danych. Mamy indeks, czyli termin. Następnie mamy typ JSON-LD i jego liczbę. Nadal nie mamy wykresu. Mamy tylko kolejną ramkę danych. Co musimy zrobić, aby przekształcić tę ramkę danych w wizualizację lub wykres? Użyjemy czegoś o nazwie Plotly.

Plotly to kolejna biblioteka, bardzo podobna do Advertools, której możemy użyć do tworzenia wizualizacji, a konkretnie użyjemy Plotly express. Pierwszą rzeczą, którą musimy zrobić, to zainstalować Plotly, idziemy dalej i robimy PIPinstallPlotly, zamierzam uruchomić tę komórkę. Został już zainstalowany w tym arkuszu, ale jest w porządku. Jak widać, powie nam, że jest już zainstalowany, już zadowolony. Jesteśmy gotowi do wyjścia.

Weź ten kod, który właśnie skopiowaliśmy, i wklej go z powrotem do naszego robota. Nie potrzebujemy tego środkowego, ponieważ są to dane, których nie używamy. Używamy własnych danych. Musimy zaimportować Plotly express jako PX i musimy podłączyć tutaj naszą nową bazę danych, aby uzyskać odpowiednie informacje na naszym wykresie.

! pip install plotly
 
import plotly.express as px
fig = px.bar(json_counts, x='index', y='jsonld_@type') fig.show()
 

Nasza ramka danych została nazwana licznikami JSON. Na naszym X użyjemy indeksu, a na Y użyjemy typu JSON. Dlaczego wybrałem te? Indeks jest tam, gdzie są słowa. Chcemy mieć je na X, a następnie zliczyć na JSON-LD @type i to będzie nasze Y, które powie nam, ile jest w każdej z tych kolumn. Pójdziemy dalej i umieścimy to tutaj. Dość proste. I wtedy fig.show pokaże ten wykres. Więc teraz mamy tutaj wszystkie nasze różne typy, a tutaj mamy różne ilości każdego typu na ładnym wykresie.

Jeśli chcesz to udostępnić, możesz pobrać go jako PNG, a Plotly pobierze go teraz na Twój komputer. Możesz wziąć to i powiedzieć: „Umieściliśmy tyle znaczników na tych wielu stronach”. Całkiem fajny sposób na szybką wizualizację.

Krok 5: Eksportuj dane

Co jednak, jeśli chcemy pobrać wszystkie te dane i pracować z nimi, może w arkuszach Google lub czymś innym? Cóż, możesz też to zrobić, aby to zrobić. Musimy tylko użyć jeszcze jednej linii kodu i powinniśmy być gotowi. Załóżmy więc, że pobierzemy tę tabelę tutaj ze wszystkimi naszymi stronami internetowymi i typem JSON-LD. Możemy przejść do tej komórki lub kogokolwiek zechcesz, a następnie utworzymy nowy wiersz kodu.

Musimy użyć czegoś z Google Colab o nazwie pliki importu. To pierwsza rzecz, którą zamierzamy zrobić. Następnie znajdziemy tę ramkę danych, którą jest JSON-DF. Dodamy to poniżej i powiemy .2_CSV, a następnie nadamy mu nazwę. Możemy nazwać to JSON_DF.CSV. Po wpisaniu tego kodu utworzyłeś plik CSV. Jeśli zajrzę tutaj do mojego folderu, zobaczysz plik właśnie tutaj.

Stąd mógłbym po prostu pobrać go lub umieścić tutaj wiersz kodu, który pomoże nam pobrać go jeszcze szybciej. Mógłbym powiedzieć files.download, a następnie wywołałem ten plik, który właśnie utworzyłem, i poprosiłem Colab o pobranie go bezpośrednio dla mnie. Kiedy uruchomię tę komórkę, pobierze ten plik i oto go mam. Mogę iść dalej, kliknąć Otwórz, a teraz mam ten plik CSV, który mogę robić, co chcę, za pomocą dowolnego narzędzia do arkuszy kalkulacyjnych, które posiadam. Widzę również te, w których prawdopodobnie brakuje niektórych znaczników.

Masz to. Poszliśmy do przodu i stworzyliśmy własny, niestandardowy robot. Pobraliśmy kilka niestandardowych danych. Zwizualizowaliśmy te dane i pobraliśmy je do wykorzystania w innych programach. Zrobiliśmy to wszystko, a nie jestem programistą komputerowym, nawet nie próbuję go udawać. Tak jak powiedziałem wcześniej, jestem po prostu dobry w kopiowaniu i wklejaniu. Wy też możecie to rozgryźć.

Gdy masz pytania, zawsze są fajne rozwiązania. Jeśli chcesz spróbować czegoś nowego i innego, gorąco polecam zabawę w Colab. Istnieje wiele wspaniałych zasobów. Jest wiele mądrzejszych ode mnie ludzi, którzy robią znacznie więcej niesamowitych rzeczy, od których wiele się nauczyłem i pomogli mi w mojej grze marketingowej, badaniach, raczkowaniu i wielu innych.

Jeśli masz jakieś pytania dotyczące tego, co dzisiaj zrobiliśmy, prosimy o komentarz poniżej. Zamierzam również dać dostęp do tego konkretnego pliku CoLab, a nawet udostępnię krok po kroku kod, którego używaliśmy po drodze. Dziękuję bardzo za oglądanie. Nie zapomnij zasubskrybować i do następnego razu życzę udanego marketingu.

Oto pełny kod, jeśli jesteś zainteresowany: