Automatyzacje & AI

Jak znaleźć problematyczne strony i maile – N8N Workflow

Workflow w n8n, który skanuje witrynę przez Apify i Firecrawl, wyłuskuje problematyczne podstrony i adresy kontaktowe. Krok po kroku.

Jak znaleźć problematyczne strony i maile – N8N Workflow
Spis treści (2)

Loading…

Dzięki!

Sprawdź maila. Powinieneś już mieć dostęp do mojego folderu z gotowymi workflow. Jak to mówią na dzieli. Z fartem mordeczko!

Przejdź do APIFY

Pierwsze czego będziesz potrzebować to skorzystać z APIFY a dokładnie z tego aktora: https://console.apify.com/actors/nFJndFXA5zjCTuudP/input

3 sekcje, które Cię najbardziej interesują to

Search Terms – tutaj wybierasz frazę, którą Apify wpiszę w Google. W moim przypadku jest to oprator “inurl:”szczegoly-pakietu” intext:”hotel” ale w Twoim może być to np. intitle:”agencja eventowa” żeby znaleźć wszystkie strony, które w tytule mają Agencja Eventowa. Wykorzystaj ChataGPT to napisania dedykowanego operatora

Numbers of results – tutaj wybierasz ile stron ma zostać znalezionych. Max na 1 stronę to 100 wyników.

Language and Location – Wybierz polski jeżeli chcesz akurat stąd wyniki. Możesz oczywiście wybrać dowolny inny język, jeżeli akurat na wynikach w innym państwie Ci zależy

Po manualnym wybraniu tych ustawień, przejdź do zakładki JSON i zapisz sobie gdzieś ten cały kod

Przechodzisz do API Endpoint

A następnie wybierasz “Run Actor synchronously and get dataset items” i kopiujesz ten adres URL

Następnie w n8n znajdujesz node “HTTP Request” i używasz poniższych danych

Method: Post

URL: Kopiujesz ten z APIFY

Send Body – ustawiasz na tak oraz wklejasz JSON z APIFY

Prompt na znalezienie stron kontaktu

Ja używam ChataGPT 4.1 do tego zadania. Oczywiście żeby skorzystać z tego narzędzia musisz mieć założone konto na OpenAI: https://platform.openai.com/chat/edit

Based on the provided URL, try to find the contact page address for this website. This could be a subpage like /contact, /kontakt, or any other page that allows users to get in touch with the website owner (e.g., a contact form, email address, etc.). Don’t overanalyze – in most cases, it’s enough to replace part of the address with /contact or /kontakt, or check the website footer.

Always return the result in the following format:

“contact_url”: “website_address” Do not include any other information, explanations, or comments – just the contact_url field with the correct contact page address.

Example: Input: https://www.hotelatrium.pl/pakiety/szczegoly-pakietu?OfferID=462415

Output:

“contact_url”: “https://www.hotelatrium.pl/kontakt” URL to analyze: {{ $json.url }}

IMPORTANT:

Always return only one field: contact_url

The answer must always be in the JSON format shown above

Firecrawl

Żeby skorzystać z Firecrawl musisz założyć tam konto: https://www.firecrawl.dev/app i wykorzystać Klucz API, który łatwo znajdziesz w zakładce “Overview”

Wybierasz “Scrape URL and get its content” a następnie przeciągasz “kontakt” z poprzedniego węzła do dedykowanego miejsca w węźle Firecrawl

Następnie tworzysz nowy węzeł z Open AI i używasz tego Promptu

Instruction

Based on the provided markdown content, extract all e-mail addresses you can find (including those in visible text, links, or anywhere else in the markdown).

Always return the result in the following JSON format:

Example

“emails”: [ “email1@example.com”, “email2@example.com” ]

Markdown to analyze: {{ $json.data.markdown }}

Wszystkie wyniki zapisujesz sobie w dedykowanym miejscu, np. w gsheets

Chcesz, żeby Twój zespół robił to sam?Warsztaty AI: wychodzicie z jedną działającą automatyzacją.
Zobacz warsztaty
Maciek Kulkowski
Autor

Maciek Kulkowski

Head of SEO w agencji Double Digital. Przebudowuję strony firm usługowych tak, żeby ruch z Google zamieniał się w telefony, i uczę zespoły pracy z AI. Buduję narzędzia AI do SEO i pokazuję je na YouTube.