Cięcie kosztów bez pójścia na skróty podczas zbierania danych z sieci
Opublikowany: 2023-02-13Pobieranie danych z sieci bez planu jest obarczone ryzykiem. Gdy gubisz się w skomplikowanych witrynach i czystości danych, Twój budżet szybko się przekroczy. Szanse są jeszcze większe, jeśli korzystasz z zasobów w chmurze i nie śledzisz codziennie ponoszonych kosztów. Jeśli chodzi o optymalizację kosztów, będziesz musiał przyjrzeć się całemu przepływowi pracy, zazwyczaj obejmującemu:
- Skrobanie danych z sieci.
- Czyszczenie i normalizacja danych.
- Przechowywanie danych na nośniku, takim jak baza danych lub zasobnik S3.
- Dostęp do danych poprzez wywołania API lub bezpośredni dostęp do miejsca przechowywania.
- Możliwe szyfrowanie i deszyfrowanie danych (w przypadku gdy dane są wrażliwe i najważniejsze jest wysokie bezpieczeństwo).
- Przetwarzanie zeskrobanych danych w celu uczynienia ich użytecznymi dla dalszych przepływów pracy.
Wznawianie > Ponowne uruchamianie
W wielu przypadkach, gdy przeglądasz dziesiątki punktów danych na milionach stron internetowych, Twój kod może się w pewnym momencie zepsuć. W większości scenariuszy ludzie kontynuują ponowne uruchamianie całego zadania - tak, to rzeczywiście jest znacznie łatwiejsze do wdrożenia i użycia. Jednak przy odrobinie cudu inżynierii, być może przy użyciu mechanizmu buforowania, możesz mieć pewność, że zapiszesz punkt kontrolny za każdym razem, gdy zadanie zgarniania się zepsuje. Po naprawieniu problemu związanego z awarią możesz przejść do zeskrobywania danych, wznawiając działanie od zapisanego punktu kontrolnego.
Serwer kontra bezserwerowy
Ten punkt jest ważny dla tych, którzy nie zbierają danych w czasie rzeczywistym, ale partiami. Załóżmy na przykład, że dwa razy dziennie pobierasz dane z miliona stron internetowych. Za każdym razem ukończenie zadania zgarniania trwa 2 godziny. Całkowity czas potrzebny na codzienne wykonanie zadania wynosi 2+2=4 godziny. Teraz, jeśli masz konfigurację opartą na serwerze, używając czegoś takiego jak instancja AWS EC-2, zostaniesz obciążony opłatą za 24 godziny, chyba że ręcznie włączysz i wyłączysz instancję za każdym razem - żmudne i łatwe do zepsucia- proces w górę. Lepszą drogą do obrania tutaj będzie użycie konfiguracji bezserwerowej, w której masz zasoby w chmurze działające na żądanie, takie jak AWS Lambda lub Fargate. W ten sposób płacisz tylko za 4 godziny, które zużyłeś, a na dłuższą metę zaoszczędzisz mnóstwo pieniędzy. Jeśli zbierasz dane z sieci za pomocą automatycznych pająków, które działają 24 godziny na dobę, 7 dni w tygodniu, możesz wybrać konfigurację opartą na serwerze.
Wykrywacz zmian w witrynie
Być może zeskrobujesz milion stron internetowych z 5 witryn — łącznie 5 milionów zeskrobań stron internetowych. Załóżmy teraz, że dwie z tych witryn dokonują zmian opartych na interfejsie użytkownika, a po uruchomieniu robota otrzymujesz nieprawidłowe dane w przepływie pracy. Teraz będziesz musiał poświęcić zarówno roboczogodziny, jak i dodatkowe zasoby obliczeniowe, aby znaleźć, która część danych jest bezużyteczna, zaktualizować robota, a następnie uruchomić go ponownie dla 2 milionów stron internetowych. Takiej sytuacji można było łatwo uniknąć, gdybyś uruchomił skrypt wykrywający zmiany, który powiedziałby ci, że zmienił się wygląd i styl 2 z witryn. Pozwoliłoby to zaoszczędzić czas, pieniądze, a nawet prawdopodobną utratę danych.
Automatyzacja zadań ludzkich
Podczas tworzenia przepływu pracy polegającego na skrobaniu stron internetowych będzie wiele zadań, które początkowo są wykonywane ręcznie. Mogą one obejmować etapy, takie jak weryfikacja i walidacja danych, czyszczenie danych, formatowanie i inne. Analitycy danych często spędzają godziny i dni, uruchamiając skrypty na swoich komputerach lokalnych. Biorąc pod uwagę dużą ilość danych, które mogą być obsługiwane, uruchomienie skryptów może zająć trochę czasu. Lepszą opcją jest tutaj zautomatyzowanie niektórych kroków po otrzymaniu pulsu danych. Z czasem należy dążyć do automatyzacji większej liczby zadań w celu zwiększenia wydajności.
Wybierz chmurę publiczną zamiast serwerów dedykowanych
O ile nie podejmujesz decyzji przy użyciu strumienia danych, w którym liczy się każda milisekunda, możesz sobie pozwolić na korzystanie z chmury publicznej zamiast serwerów dedykowanych. Może wystąpić nieznaczne pogorszenie wydajności, ale korzystanie z serwerów dedykowanych na dłuższą metę może sprawić, że koszty czyszczenia sieci przekroczą wszelkie limity.
Narzędzie open source
Większość licencjonowanego oprogramowania kosztuje bombę w postaci miesięcznych lub rocznych subskrypcji. Jeśli potrzebujesz dodatkowych funkcji, takich jak rotacja adresów IP lub czyszczenie danych, możesz zostać obciążony dodatkową opłatą. Ponadto większość tych płatnych narzędzi będzie miała pewne ograniczenia, a wszelkie nowe funkcje lub zmiany mogą zająć miesiące - jeśli zostaną zatwierdzone.
Kwestie zgodności z outsourcingiem
Podczas zbierania danych z całej sieci należy przyjrzeć się wielu aspektom prawnym, takim jak
- Niezależnie od tego, czy przechwytujesz jakiekolwiek dane osobowe.
- Plik robot.txt dla tej witryny.
- Reguły dotyczące danych znajdujących się za stroną logowania.
- Postępowanie z treściami chronionymi prawem autorskim.
- Zapewnienie, że ponowne wykorzystanie treści nie narusza prawa.
- Świadomość praw obowiązujących w lokalizacji geograficznej, z której pobierasz treści, oraz miejscu, w którym przebywają Twoi użytkownicy końcowi.
I więcej…
Ze względu na złożoność globalnych praw cyfrowych łatwo jest znaleźć się na niewłaściwym końcu procesu sądowego z powodu jednego błędnego kroku. Z drugiej strony nie każda firma miałaby zespół prawny, który zająłby się takimi sprawami – będzie to kosztowne.
Zamiast tego możesz zlecić spełnienie wymogów prawnych na zewnątrz, aby móc skorzystać z ich pomocy za każdym razem, gdy konfigurujesz nowy proces skrobania sieci lub decydujesz się na stworzenie produktu przy użyciu zeskrobanych danych. Usługi prawne na żądanie dotyczące skrobania stron internetowych miałyby większy sens dla małych lub średnich firm, podczas gdy działy prawne listy Fortune 500 mogą rozwiązywać takie problemy wewnętrznie.
Spraw, aby walidacja danych była tańsza dzięki maszynom
Jedną zmianą, którą mogą wprowadzić firmy, jest użycie bibliotek innych firm do sprawdzania poprawności danych zamiast zatrudniania specjalistów ds. danych. Często dziesiątki analityków ręcznie analizują surowe dane, wprowadzają pewne zmiany, generują nowe kolumny i normalizują dane. Większość z tych czynności można zautomatyzować, tworząc przepływy pracy za pomocą narzędzi takich jak AWS Step Functions. Te przepływy pracy można skonfigurować na podstawie:
- Niezależnie od tego, czy Twoje dane mają postać transmisji na żywo, czy partii.
- Ilość danych przetwarzanych okresowo.
- Rodzaj przetwarzania danych, które chcesz wykonać.
- Akceptowalny czas, w jakim punkt danych może przejść przez przepływ pracy.
- Potrzeba mechanizmów ponawiania, wycofywania i ponownego uruchamiania.
Największą zaletą takich przepływów pracy jest to, że jeśli rzeczywiście potrzebujesz pewnej liczby ręcznych kontroli, możesz mieć ręczny krok w przepływie pracy, w którym osoba może spojrzeć na dane, wprowadzić zmiany w razie potrzeby i nacisnąć przycisk, aby przenieść przepływ pracy do następnego kroku.
Pozwól skali dyktować warunki
Najlepsze rozwiązanie do zbierania danych dla podmiotu korporacyjnego zatrudniającego tysiące pracowników obsługujących wiele krajów może nie być opłacalne dla startupu zatrudniającego 10 pracowników obsługujących jedno miasto. Dlatego zbieranie pomysłów od innych firm może nie być pomocne. Ponadto plan skrobania w Twojej firmie może również wymagać aktualizacji w miarę zwiększania skali.
Odśwież tylko to, co się zmieniło
Załóżmy, że pobierasz dane z witryny eCommerce. Masz wiele ważnych punktów danych, takich jak opis, właściwości, zasady zwrotów, cena, liczba recenzji, oceny i inne. Teraz, jeśli regularnie odświeżasz te dane, możesz preferować odświeżanie różnych punktów danych w różnych odstępach czasu. Na przykład możesz odświeżać cenę co godzinę, recenzje i oceny codziennie, a pozostałe punkty danych co miesiąc. Chociaż taka zmiana wydaje się niewielka, gdy pomnożysz koszt i wysiłek przez kilka milionów, zdasz sobie sprawę, ile odświeżenia tylko tego, czego potrzebujesz, może cię oszczędzić.
Korzystanie z dostawcy DaaS, takiego jak PromptCloud
Jeśli chodzi o skrobanie sieci, nie ma jednego uniwersalnego rozwiązania, dlatego nasz zespół w PromptCloud zapewnia niestandardowe rozwiązania dla każdej firmy w oparciu o ich wymagania dotyczące skrobania. Nasze w pełni konfigurowalne rozwiązanie umożliwia aktualizację —
- Strony internetowe, z których musisz zeskrobać dane.
- Częstotliwość zgarniania danych.
- Punkty danych do wyodrębnienia.
- Mechanizm, za pomocą którego chcesz wykorzystać zeskrobane dane.
Bez względu na to, ile źródeł podłączysz, nasza funkcja agregatora może pomóc Ci uzyskać dane w jednym strumieniu.
Firmy mają napięte harmonogramy, w których potrzebują szybkich przepływów pracy. Nasze doświadczenie pomaga nam skonfigurować rurociągi zgarniające w krótkim czasie, gdy mamy wymagania. Pomagamy również klientom zrozumieć chaos w danych, dostarczając kompleksowe rozwiązania. Inne przydatne funkcje to
- W pełni zarządzana usługa bez konserwacji wdrożona w chmurze.
- Szybka pomoc poparta solidnymi umowami SLA.
- Niskie opóźnienie, dzięki czemu dane dotrą do Ciebie na czas.
- Nieograniczona skalowalność w oparciu o Twoje wymagania.
- Monitorowanie i utrzymanie całego przepływu pracy zgarniania.
Ponieważ pobieramy opłaty na podstawie ilości danych, które zużywasz, nie musisz się martwić o stałe opłaty. Podobnie jak w przypadku prawdziwego rozwiązania DaaS, Twój miesięczny rachunek jest oparty wyłącznie na zużyciu danych. Zasubskrybuj nas teraz i uzyskaj dostęp do danych w rozsądnej cenie bez pójścia na skróty w zaledwie 4 krokach:
- Podajesz nam wymagania.
- Dajemy Ci przykładowe dane.
- Jeśli jesteś zadowolony, zakończymy konfigurację robota.
- Dane docierają do Twoich rąk w wybranym przez Ciebie formacie i za pośrednictwem preferowanego nośnika.
Tak więc wybór należy do Ciebie i nadszedł czas, aby wziąć wodze w przeszukiwanie sieci, zanim Twoje koszty osiągną szczyt.