ABC automatyzacji pracy przy komputerze dla specjalistów SEO i nie tylko!

 w Linux, Oprogramowanie, Poradniki, SEO,

Wykonywanie powtarzalnych czynności jest uciążliwe i frustrujące a z biegiem czasu każdy pracownik biurowy czy też specjalista stwierdzi że traci czas i energie na coś, co może wykonać dowolna aplikacja czy dobry skrypt powszechnie nazywany jako macro.

W artykule znajdziesz informacje, jak „ułatwić” sobie pracę biurową, z jakich narzędzi warto korzystać (płatnych i darmowych) oraz to w jaki sposób programy, których używasz na co dzień, możesz wykorzystać w bardziej profesjonalnych rozwiązaniach.

Uwaga: w zestawieniu znajdziesz aplikacje i komendy bash, programy open source i komercyjne oraz skrypty w języku VBA. Wymienione narzędzia poniżej, które znam opisałem dokładniej z ich plusami, minusami i wykorzystaniem, podam również przykłady konkurencyjnych narzędzi, o których wiem ale z nich nie korzystam. Jeżeli znasz jakieś inne narzędzie, proszę o komentarz – z miłą chęcią przetestuje coś nowego – co może ułatwić mi pracę!

Efektywność i wydajność pracy jest jedną z cech dobrego pracownika czy specjalisty w każdej branży – jeżeli robisz coś szybciej, lepiej i wydajniej to jesteś w stanie wykonać więcej, osiągnąć lepszy wynik a tym samym stajesz się wartościowszy dla swojego pracodawcy czy klienta! Dobrze! Kończę już temat motywacji zawodowej – pora na opisy programów!


Automatyzacja pracy w internecie

Automatyzacja pracy w przeglądarce internetowej polega między innymi na takich czynnościach jak: automatycznie wypełnianie formularzy, pobieranie i wprowadzanie danych z plików csv, xlsx oraz innych czynności jak chociażby wygrywanie konkursów internetowych lub pobieranie dużej ilości danych ze stron internetowych zwanych webscarping”. Programiści używają takich aplikacji do automatyzacji testów aplikacji webowych.

Kantu Browser Automation

Kantu Browser Automation

Kantu Browser Automation

Kantu umożliwia bardzo łatwą konfiguracje powtarzalnych czynności wykonywanych w przeglądarce internetowej (Firefox, Chrome). Posiada własny OCR, rozpoznawanie obrazów i tekstów oraz automatykę bazująca na Selenium. Umożliwia wczytania danych z pliku csv oraz ich zapisywania w pętli do nowych wierszy arkusza danych.

Funkcja Visual Web Automation pozwala na wykonywanie działań macro na elementach typu Google Maps. Kantu potrafi czytać i rozpoznawać obrazy oraz tekst wewnątrz elementów, obrazów. Skrypty przechowywane są w formie plików JSON – oznacza to łatwość ich kopiowania, i dzielenia się z innymi współpracownikami.

Nie jest to tylko dodatek do przeglądarki, istnieje również wersja w formie aplikacji na systemy Windows, Mac i Linux. Niestety w przypadku wielu elementów wymagana jest instalacja dodatkowego, darmowego pluginu XModules, który dodaję możliwość poruszania kursorem myszy na twoim pulpicie.

Budowę skryptu najlepiej rozpocząć od wczytania przygotowanego przez autora gotowca a następnie odpowiednio dobierać komendy i elementy – po wybraniu funkcji record, program automatycznie zapisuje nasze działania. Następnie w interfejsie możemy dokonać korekt poprzez wybór odpowiedniego polecenia – select / find dzięki którym wybieramy i podświetlamy odpowiedni element na stronie internetowej, w którym polecenie skryptu ma wykonać działanie. Więcej na filmach poniżej.

^ Przykład skryptu do pobierania informacji z pliku CSV i wstawiania ich w formularz Google
{
  "Name": "DemoCsvReadWithLoop", //
  "CreationDate": "2019-3-2",
  "Commands": [
    {
      "Command": "store", 
      "Target": "fast",
      "Value": "!replayspeed"
    },
    {
      "Command": "comment",
      "Target": "The file ReadCSVTestData.csv is pre-installed with Kantu.",
      "Value": ""
    },
    {
      "Command": "csvRead",
      "Target": "ReadCSVTestData.csv",
      "Value": ""
    },
    {
      "Command": "open",
      "Target": "https://docs.google.com/forms/d/e/1FAIpQLScGWVjexH2FNzJqPACzuzBLlTWMJHgLUHjxehtU-2cJxtu6VQ/viewform",
      "Value": ""
    },
    {
      "Command": "type",
      "Target": "name=entry.933434489",
      "Value": "${!COL1}"
    },
    {
      "Command": "type",
      "Target": "name=entry.2004105717",
      "Value": "${!COL2}"
    },
    {
      "Command": "type",
      "Target": "name=entry.1382578664",
      "Value": "${!COL3}"
    },
    {
      "Command": "clickAndWait",
      "Target": "//*[@id=\"mG61Hd\"]/div/div[2]/div[3]/div[1]/div/div/content/span",
      "Value": ""
    }
  ]
}

^ Przykład skryptu makro do zapisywania informacji ze strony a9t9.com do pliku CSV
{
  "Name": "DemoCsvSave",
  "CreationDate": "2019-3-2",
  "Commands": [
    {
      "Command": "store",
      "Target": "fast",
      "Value": "!replayspeed"
    },
    {
      "Command": "open",
      "Target": "https://a9t9.com/kantu/demo/csvsave",
      "Value": ""
    },
    {
      "Command": "storeEval",
      "Target": "new Date().getFullYear()+\"-\"+(new Date().getMonth()+1)+\"-\"+new Date().getDate()+\" \"+ new Date().getHours()+\":\" + new Date().getMinutes() + \":\" + new Date().getSeconds()",
      "Value": "timestamp"
    },
    {
      "Command": "store",
      "Target": "${timestamp}",
      "Value": "!csvLine"
    },
    {
      "Command": "echo",
      "Target": "First column in the CSV is time (${timestamp})",
      "Value": ""
    },
    {
      "Command": "echo",
      "Target": "Set i = 1 as we start the extraction with the 2nd table cell.",
      "Value": ""
    },
    {
      "Command": "store",
      "Target": "1",
      "Value": "i"
    },
    {
      "Command": "while",
      "Target": "(${i} < 8)",
      "Value": ""
    },
    {
      "Command": "storeEval",
      "Target": "${i}+1",
      "Value": "i"
    },
    {
      "Command": "echo",
      "Target": "Current value of i = ${i}",
      "Value": "i"
    },
    {
      "Command": "storeText",
      "Target": "//*[@id=\"gcw_mainFNGP5XSu6\"]/div[2]/table/tbody/tr[2]/td[${i}]/a",
      "Value": "c2"
    },
    {
      "Command": "store",
      "Target": "${c2}",
      "Value": "!csvLine"
    },
    {
      "Command": "echo",
      "Target": "Extracted Value for i=${i} is exchange rate = ${c2}",
      "Value": ""
    },
    {
      "Command": "endWhile",
      "Target": "",
      "Value": ""
    },
    {
      "Command": "echo",
      "Target": "${!csvLine}",
      "Value": ""
    },
    {
      "Command": "comment",
      "Target": "Append content of !csvLine to CSV file (or create file if none exists)",
      "Value": ""
    },
    {
      "Command": "csvSave",
      "Target": "CurrencyConverterData",
      "Value": ""
    },
    {
      "Command": "comment",
      "Target": "If needed, you can download (save) the CSV data from the CSV tab to the the download folder",
      "Value": ""
    },
    {
      "Command": "localStorageExport",
      "Target": "currencyconverterdata.csv",
      "Value": ""
    }
  ]
}

Plusy
  • aplikacja open source z możliwością rozszerzenia do wersji płatnej,
  • wersja w formie plugin do przeglądarki,
  • wczytywanie i zapisywanie do pliku arkusza CSV,
  • eksport i import skryptów za pomocą formatu JSON,
  • automatyzacja nie tylko na podstawie XPath i selektorów CSS a również na podstawie zrzutów elementu ekranu,
  • stworzony w oparciu o Selenium IDE,
  • gotowa baza skryptów, na których można się wzorować.
Minusy
  • brak możliwości użycia proxy,
  • instalacja dodatkowego modułu xModules – 25 powtórzeń w wersji darmowej na uruchomienie macro,
  • przy użyciu xModules użytkownik nie może pracować jednocześnie na komputerze,
  • Arkusz CSV musi zostać wyeksportowany z LibreOffice / OpenOffice (separatory kolumn jako przecinki) – wyeksportowany plik z Excela nie jest prawidłowy (cudzysłów).
Wykorzystanie
  • wgrywanie wpisów do WordPress (wypełnianie elementów alty, metatagi itp)
  • wprowadzanie danych do stron www za pomocą arkusza tekstowego CSV w pętli,
  • pobieranie danych ze stron i umieszczanie ich w pliku CSV,
  • pobieranie elementów XPath pozwala zintegrować to narzędzie z Screaming Frog Spider (funkcja custom extraction).


iMacros

imacros

iMacros

iMacros jest konkurencyjnym programem do Kantu – bazuje na tym samym rozwiązaniu i ma identyczne funkcje lecz różni się interfejsem i budową skryptów. Rozszerzenie do przeglądarki jest bardzo okrojone, a aplikacja kosztuje sporo w stosunku chociażby do programu Zennoposter. Nie używałem tego programu zbyt długo dlatego wspominam o nim tylko i wyłącznie informacyjnie jako alternatywę dla Kantu.

Przykładowy skrypt iMacros
Skrypt automatycznie wprowadza dane z pliku CSV i przesyła je do strony internetowej.

VERSION BUILD=10.4.28.1074
'Uses a Windows script to submit several datasets to a website, e. g. for filling an online database
TAB T=1     
TAB CLOSEALLOTHERS  
' Specify input file (if !COL variables are used, IIM automatically assume a CSV format of the input file
'CSV = Comma Separated Values in each line of the file
SET !DATASOURCE Address.csv
'Start at line 2 to skip the header in the file
SET !LOOP 2
'Increase the current position in the file with each loop 
SET !DATASOURCE_LINE {{!LOOP}}
' Fill web form   
URL GOTO=http://demo.imacros.net/Automate/AutoDataEntry
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:fname CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:lname CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:address CONTENT={{!COL3}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:city CONTENT={{!COL4}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:zip CONTENT={{!COL5}}
'
'Note * is used to ignore leading and trailing blanks that could be in the input data
'
'The precent (%) symbol is used to select the stateid by VALUE as defined in the website select statement and not by its index.
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=NAME:state CONTENT=$*{{!COL6}}*
'
'The string ($) symbol is used to select the country by TEXT, not by its index.
'Index would be the position of an entry in the combo box list, e. g. 161 for United States
TAG POS=1 TYPE=SELECT FORM=ID:demo ATTR=NAME:country CONTENT=$*{{!COL7}}*
'
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:demo ATTR=NAME:email CONTENT={{!COL8}}
TAG POS=1 TYPE=BUTTON:submit FORM=ID:demo ATTR=TXT:Submit

TAG POS=1 TYPE=A ATTR=TXT:*Back* 
Plusy
  • dodatek do przeglądarki,
  • gotowa baza skryptów, na których można się wzorować,
  • automatyzacja przeglądarki – pobierania plików, połączenie z bazą danych.., wypełnianie formularzy,
  • możliwość testowania,
  • ekstrakcja danych,
  • trial na 30 dni pełnej wersji,
  • współpraca z plikami Excel.
Minusy
  • Problemy z funkcjonowaniem programu przy dwóch monitorach,
  • Interfejs.
Wykorzystanie
  • Analogiczne do Kantu,
  • Integracja z bazami danych pozwala na aktualizowanie stanów magazynowych np. poprzez pobranie cen ze sklepu konkurenta.


Zennoposter

Zennoposter

Zenek to nie tylko król discopolo ale również król automatyzacji 🙂

Zenek.. czyli program, który każdy porządny specjalista SEO powinien znać. Jest to najlepsze narzędzie do automatyzacji jakichkolwiek działań w przeglądarce – pozwala pisać bardzo zaawansowane skrypty. Można go używać przy pomocy proxy i automatycznie potwierdzać wiadomości na skrzynce pocztowej. Dodatkowo jego zastosowaniem może być możliwość manipulacji ocenami w serwisach www. Wiele osób wykorzystuje ten program do wygrywania konkursów internetowych.

Autorzy oferują go w 3 wariantach licencji, z czego licencja jest dożywotnia. Przyjazny interfejs aplikacji, obsługa wątków i własna przeglądarka (brak wtyczki do przeglądarki) powodują to że program jest całkowicie automatyczny i może działać w tle.

Program jest podzielony na 2 sekcje: projektową i wykonawczą, w pierwszej projektujemy i przygotowujemy projekt, w drugiej możemy go wykonać w pętli czy ustawić uruchomienie makra o o określonej dacie na podstawie kalendarza. Poniżej przykładowy skrypt wykonany w Zennoposterze.

Plusy
  • wielowątkowość (thready) – umożliwia odpalenie tego samego skryptu w kilku oknach przeglądarki,
  • profile użytkowników z zmiennymi,
  • proxy,
  • łatwa praca z listami, tekstami, arkuszami MS Excel,
  • obsługa FTP i baz danych,
  • klient poczty,
  • łatwość tworzenia skomplikowanych skryptów (w postaci bloków statycznych) i ich dzielenia na sekcje,
  • automatyzacja pracy z captchą.
Minusy
  • brak wersji darmowej w postaci np. wtyczki do przeglądarki (jedyna możliwość to trial 30 dni),
  • najtańsza wersja jednowątkowa „muli” i jest nieopłacalna,
  • duże obciążenie zasobów komputera.
Wykorzystanie
  • rejestracja kont mailowych, odbieranie maili, rejestracja profili na forach,
  • wygrywanie konkursów bazujących na głosowaniach internetowych,
  • wgrywanie i pobieranie elementów ze stron,
  • wiele innych 🙂


Selenium + Python

Selenium

Framework Selenium

Selenium IDE jest środowiskiem do testowania aplikacji webowych, które w połączeniu z przeglądarka Firefox, Chrome pozwala na wykonywanie skryptów Selenium. Pozwala na nagrywanie akcji i kroków macro oraz ich automatyzacje z wykorzystaniem języków programowania. Na jego bazie opiera się wymieniona wyżej aplikacja Kantu. Narzędzie przeznaczone jest głównie do testów witryn internetowych.

Selenium może zostać zaimportowane do np. Pythona, PHP dzięki czemu można wykorzystać je w automatycznych testach.

>>> from selenium.webdriver import Firefox
>>> from selenium.webdriver.firefox.options import Options
>>> opts = Options()
>>> opts.set_headless()
>>> assert opts.headless  # Operating in headless mode
>>> browser = Firefox(options=opts)
>>> browser.get('https://duckduckgo.com')

Automatyzacja testów aplikacji webowych



Screaming Frog Spider

screaming frog spider

Niezbędny specjaliście SEO

Screaming Frog Spider to kolejne z narzędzi niezbędnych dla specjalisty SEO. Program jest webcrawlerem napisanym w Javie, który grupuje najważniejsze elementy podstron twojego serwisu, dzięki czemu w łatwy sposób można wyłapać błędne linki, przekierowania oraz setki innych rzeczy ważnych z punktu optymalizacji stron internetowych.

O ile wielu specjalistów od pozycjonowania korzysta z tego narzędzia, to jego zastosowanie nie kończy się tylko w tej dziedzinie. Screaming frog umożliwia pobranie każdego z elementów strony w sposób szybki i z pełna automatyzacją za pomocą extraction tool.

W połączeniu z ^funkcja select z aplikacji Kantu łatwo możemy pobrać XPath elementu dowolnej treści na stronie internetowej, która Screaming Frog „wyciągnie” nam z każdej podstrony serwisu. Może to nam pomóc gdy klient planuje migracje strony na jej nową wersje – skanujemy poszczególne unikalne elementy i eksportujemy je do pliku MS Excel.

/html/body/div[4]/div[2]/div/div

Sam tym narzędziem „pobrałem” informacje o 45 tysiącach wtyczek WordPressa i o 7 tysiącach darmowych skórek znajdujących się w repozytorium tego systemu stron internetowych, co pozwoliło mi na stworzenie statystyk dotyczących repozytorium WordPressa.

Plusy
  • możliwość analizy dowolnej strony internetowej,
  • możliwość pobrania dowolnego elementu znajdującego się w kodzie strony (również w aplikacjach react, angular JS),
  • możliwość pobierania zdjęć, kodu strony i jego analizy,
  • możliwość wysadzenia strony internetowej gdy znajduję się na słabym serwerze,
  • wersja dostępna na systemy UNIX.
Minusy
  • bardzo okrojony w wersji darmowej,
  • w zależności od ilości stron duże obciążenie zasobów komputera,
  • brak możliwości kupienia licencji dożywotniej,
  • problematyczny tester pliku robots.txt zwracający inne wyniki niż oficjalny parser w Google Search Console.
Wykorzystanie
  • audyty SEO,
  • kondycja techniczna witryny,
  • pobieranie danych ze stron internetowych,
  • analiza UX podstron witryny – umożliwia wykonywanie screenów,
  • badanie obciążenia serwera i wczytywania się strony,
  • eksport XLS i filtrowanie danych.


Następna strona zawiera informacje o tym jak optymalizować czynności w systemie Windows oraz informacje o Auto Text Expander

Strony: 1 2

5 Komentarze

Paweł

Marzec 3, 2019

Super zestawienie. Wszystkie znane i lubiane, 2 zapomniane (niesłusznie) 🙂 Dzięki za nową motywację do dalszej nauki skryptów.

Odpowiedz

Bartosz

Marzec 4, 2019

AutoHotKey I Pulover’s Macro Creator rzeczywiście robią robotę. Dzięki za zestawienie

Odpowiedz

Michał

Marzec 4, 2019

Wojciech dobra marka – świetne zestawienie!

Odpowiedz

Antoni z Reklamea

Marzec 4, 2019

Świetne zestawienie, dzięki. Wstyd, bo znałem raptem 3 narzędzia z całej listy. Chyba najwyższy czas za automatyzację powtarzalnych czynności.

Odpowiedz

Zgred

Marzec 4, 2019

Szernięte 🙂 i podane dalej. Fajny spis – tylko keidy się tego uczyć.

Odpowiedz

Zostaw komentarz