Sprawdź backlinki swojej strony w n8n czy w zwykłym Pythonie?
Płótno z 25 węzłami do trójetapowego zadania to częsty żal. Skrypt, którego nikt inny nie jest w stanie edytować – to drugi. Skorzystaj z drzewa.
Zespół redakcyjny Linkzoid ·
Drzewo decyzyjne, od góry do dołu
Czy ktoś nietechniczny będzie edytował przepływ lub czytał jego dzienniki uruchomień? Wybierz n8n lub Make.
Czy zadanie mieści się w 60 liniach i tak czy siak będzie w repozytorium? Wybierz Pythona.
Czy potrzebujesz publikacji na Slacku i wiersza w arkuszu, ale bez porównywania zmian? Wybierz n8n z jednym węzłem HTTP Request.
Czy porównujesz setki domen, prowadzisz historię lub testujesz jednostkowo parsowanie? Wybierz Pythona z SQLite.
Czy zespół już płaci za wykonania w chmurze n8n? Policz je: pętla po 40 domenach może zużyć limit planu.
Żadne z powyższych nie pasuje? Zacznij od curl w skrypcie powłoki i zobacz, co boli najbardziej.
Kiedy wizualny przepływ zasługuje na swoje miejsce
Płótno jest warte swojego bałaganu w niektórych zadaniach. Jeśli osoba nietechniczna musi widzieć każdy krok i jego ostatnie uruchomienie, wizualny przepływ bije repozytorium, którego i tak nie otworzą. Trzymaj to krótkie.
Większość zadań dotyczących backlinków to pobranie, sprawdzenie i zapis. Cztery węzły robią to dobrze. Jeśli Twoim zadaniem jest sprawdzanie backlinków Twojej strony miesięcznie dla klienta, taki kształt pasuje do płótna. Problemy zaczynają się, gdy ktoś doda paginację, ponowne próby i porównanie zmian, ponieważ każde z nich wprowadza własną gałąź.
Wybierz płótno dla czytelnika, a nie dla autora.
Kto czyta przepływ
Ludzie z marketingu i sprzedaży czytają przepływ przez jego wyniki i chcą widzieć ostatnie uruchomienie na wyciągnięcie ręki. Płótno daje im to bez potrzeby tworzenia zgłoszenia. Czytają wynik, a nie kod. Skrypt daje im plik dziennika, którego nie otworzą.
Nadaj przepływu jasną nazwę i jednozdaniowy opis, aby następny czytelnik wiedział, co obiecuje, zanim go otworzy. Węzeł z niejasną etykietą kosztuje więcej czasu niż jakakolwiek brakująca funkcja.
Gałęzie widoczne na pierwszy rzut oka
Węzeł IF na ok jest łatwy do śledzenia. Trzy takie węzły na jednej stronie są nadal czytelne, jeśli każda gałąź ma prostą nazwę. Po tym limicie linie się krzyżują, a recenzent potrzebuje dziesięciu minut, aby być pewnym, która gałąź uruchomi się przy pustym wyniku.
Gdy płótno staje się obciążeniem
Pętle po wielu domenach, współdzielony stan między uruchomieniami i testy jednostkowe to typowe punkty napięcia. Płótno radzi sobie z każdym z nich obejściem, a każde obejście to miejsce, w którym przepływ może odbiec od tego, co miałeś na myśli.
Jeśli zauważasz, że eksportujesz JSON, aby naprawić przepływ, zadanie przekroczyło możliwości płótna. Przenieś logikę do kodu i zachowaj płótno tylko dla powiadomień.
Konfiguracja n8n w czterech liniach
Jeden węzeł HTTP Request, metoda GET, URL https://linkzoid.pro/api.php. Dodaj parametry zapytania action, q, key. Każdy, kto chce sprawdzić backlinki swojej strony w ten sposób, może skopiować go w pięć minut.
Przechowuj klucz w poświadczeniach, a nie w węźle. Dodaj węzeł IF na ok i wyślij gałąź false do workflow błędu, który Cię powiadomi.
Podziel tablicę rows węzłem Item Lists lub Split Out, a następnie zapisz do Google Sheets lub Postgres. Śledź liczbę wykonania, ponieważ każdy element może być rozliczany jako krok w niektórych planach.
To całe zadanie. Zawodzi, gdy pojawia się paginacja: pętle w n8n działają, ale czytają się źle po przekroczeniu około dziesięciu węzłów.
Zbuduj przepływ n8n w pięciu węzłach
Każdy węzeł robi jedną rzecz i każdy można przetestować indywidualnie przed dodaniem kolejnego.
01
Utwórz węzeł HTTP Request
Metoda GET i URL https://linkzoid.pro/api.php. Dodaj action, q i per jako parametry zapytania, a klucz zostaw na następny krok.
02
Dołącz klucz jako poświadczenie
Przechowuj go w poświadczeniach n8n i odwołuj się do niego z zapytania. Klucz wpisany bezpośrednio w pole URL może trafić do logów i eksportów.
03
Blokada na flagę ok
Dodaj węzeł IF, który odczytuje ok. Wyślij gałąź false do workflow błędu, który opublikuje treść odpowiedzi w miejscu, które będziesz widzieć.
04
Podziel wiersze
Użyj Split Out na tablicy rows, aby każda domena stała się osobnym elementem. Zapisz te elementy do arkusza lub tabeli, a nie całą odpowiedź w jednej komórce.
05
Przetestuj najpierw na darmowej akcji
Ustaw węzeł na overview, która nie wymaga klucza, i potwierdź kształt odpowiedzi przed przełączeniem na akcję płatną.
Tabela rozwiązywania problemów
Objaw
Przyczyna w n8n
Przyczyna w Pythonie
Przychodzi tylko 10 wierszy
Nie ustawiono parametru per w węźle
To samo, sprawdź ciąg zapytania
Uruchomienie się powiodło, arkusz pusty
Wiersze nie zostały podzielone na elementy
Zapisano słownik zamiast rows
402 po tygodniu
Workflow pętli na triggerze
Cron odpala się dwukrotnie
Kluk wycieka do logów
Wklejony w pole URL
Wydrukowano pełny URL
Luki miesięczne
Retencja wykonania usunęła stare uruchomienia
Nigdy nie przechowywano historii
Koszt jednego uruchomienia
Po naszej stronie koszt jest taki sam w obu przypadkach: 2 kredyty za stronę refdomains. Koszt różni się po stronie konstruktora.
Samodzielnie hostowane n8n jest darmowe w uruchomieniu. Plany chmurowe liczą wykonania. Zwykły skrypt na cronie nic nie kosztuje.
Niezależnie od wyboru, przechowuj datowaną kopię każdego uruchomienia poza narzędziem. Tygodniowe migawki w Actions to jedno uporządkowane miejsce na to, a porównanie suite wyjaśnia, dlaczego własna historia jest warta posiadania.
Policz wykonania na domenę
Pętla po czterdziestu domenach to czterdzieści uruchomień w planie, który liczy wykonania. Sprawdź, jak Twój plan liczy pętlę, zanim ją zaplanujesz, ponieważ rachunek podąża za liczbą, a nie kredytami.
Napisz spodziewaną liczbę obok harmonogramu. Zaskoczenie na rachunku łatwiej wyjaśnić, gdy szacunek był już w pliku.
Samodzielne hostowanie ma swój własny koszt
Samodzielnie hostowane n8n kosztuje serwer, aktualizacje i backupy. Baza danych jest Twoja do utrzymania przy życiu. Zwykły skrypt na małej maszynie ma mniej ruchomych części, co jest jednym z powodów do wyboru go dla stałego miesięcznego zadania.
Co zwykle psuje się jako pierwsze
W n8n jest to paginacja i liczenie elementów. W Pythonie to rzecz, której nikt nie przetestował: pusta rows, timeout, pole o innej nazwie niż zakładałeś.
Żadne narzędzie nie jest złe. Wybierz według tego, kto będzie utrzymywać rzecz za sześć miesięcy. Jeśli jesteś Ty, sam, kod jest łatwiejszy do przeszukania. Jeśli jest to zespół marketingowy, który już żyje na płótnie, mały przepływ, który mogą zobaczyć, bije repozytorium, którego się boją.
Mieszane konfiguracje też działają. Niech Python zapisze CSV w harmonogramie, a niech n8n odczyta plik i wyślij go na Slacka. Każde narzędzie robi tę część, którą obsługuje najlepiej, a żaden przepływ nie przekracza dziesięciu kroków.
Utrzymanie czytelności wersji Pythona
Zwykłym przypadkiem dla kodu jest to, że ktoś inny będzie musiał go zmienić za sześć miesięcy. Ułatw to. Krótki skrypt z jasnymi nazwami i zapisaną odpowiedzią bije sprytną jednowierszówkę, której nikt nie śmie dotknąć.
Przetestuj parser na zapisanej odpowiedzi
Zapisz jedną prawdziwą odpowiedź do pliku i wskaż na nią test jednostkowy. Parser działa wtedy bez wydawania kredytu, a zmiana nazwy pola zawodzi w teście, a nie w poniedziałek rano.
Trzymaj zapisaną odpowiedź małą, ponieważ dziesięć wierszy wystarczy. Znotuj datę jej pobrania, aby wiedzieć, kiedy ostatnio zmieniły się nazwy pól.
Przechowuj ustawienia w jednym miejscu
Domeny, akcje i rozmiar strony należą do małego bloku konfiguracyjnego, a nie rozrzucone po skrypcie. Kolega może wtedy zmienić listę docelową bez dotykania logiki parsującej wiersze.
Trzymaj sekrety z dala od tego bloku. Załaduj je ze środowiska, w ten sam sposób, w jaki ładowany jest klucz.
Uruchom dwutygodniowy test przed zobowiązaniem
Nie rozstrzygaj tego na papierze. Zbuduj najmniejszą wersję zadania w każdym narzędziu, uruchamiaj ją codziennie przez dwa tygodnie i zobacz, które z nich otwierasz bez pytania.
Spójrz, co się psuje. Policz razy, w których musiałeś coś edytować ręcznie i razy, gdy wynik był błędny bez błędu. Narzędzie, które wymaga mniej poprawek ręcznych, jest tym, które należy zachować.
Loguj każdą ręczną poprawkę
Prowadź prosty zapis każdego razu, gdy dotknąłeś przepływu lub skryptu ręcznie. Krótka lista po dwóch tygodniach powie Ci więcej niż jakakolwiek tabela funkcji.
Znotuj, kto zażądał zmian
Jeśli żądania pochodziły od osób, które nie potrafią czytać kodu, płótno może wygrać. Jeśli pochodziły od Ciebie, repozytorium jest łatwiejsze w obsłudze.
Każda odpowiedź jest OK, dopóki możesz na nią wskazać. Napisz powód obok przepływu lub repozytorium i wróć do niego, gdy zadanie urośnie.
Krótkie odpowiedzi dla twórców
Czy Make lub Zapier działają z tym API?
Tak. Działa wszystko, co może wysłać HTTPS GET z parametrami zapytania, w tym Make, Zapier, Pipedream i Apps Script. Użyj modułu HTTP, umieść klucz w zapisanym połączeniu i odczytaj tablicę JSON rows w kolejnym kroku.
Czy agent AI może to wywołać zamiast tego?
Technicznie tak, ponieważ jest to zwykłe API HTTP. Dla stałego miesięcznego zadania skrypt jest tańszy i bardziej przewidywalny, a agent dodaje rachunek za model i szansę na błędny parametr. Używaj agenta tylko do pytań ad hoc.
Jaka jest najtańsza droga do rozpoczęcia?
Skrypt powłoki z curl i darmową akcją overview, uruchamiany z cron. Bez klucza, bez kosztu, i poznajesz kształt odpowiedzi. Przejdź do Pythona, gdy pojawi się pierwsze niezręczne parsowanie JSON.