Witaj gościu! Zaloguj się lub Zarejestruj aby móc korzystać ze wszystkich funkcjonalności jakie oferuje to forum! Rozpocznij zarabianie przez internet, poznaj korzysci pracy w domu! Rejestracja i korzystanie z forum jest całkowicie darmowe!
Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
Dziennik informatyka - skracanie linków - Wersja do druku

+- Praca w domu - Dodatkowa Praca - Zarabianie przez Internet (https://zarabiam.com)
+-- Dział: Zarabiam.com (/Forum-Zarabiam-com-166)
+--- Dział: Dziennik Pracy (/Forum-Dziennik-Pracy-352)
+--- Wątek: Dziennik informatyka - skracanie linków (/Temat-Dziennik-informatyka-skracanie-linkow-151427)

Strony: 1 2 3 4 5


RE: Dziennik informatyka - skracanie linków - Fr0shArczi - 21-10-2017 18:07

Oo ciekawy pomysł z tym omegle, ciekawe jak to wyjdzie Smile


RE: Dziennik informatyka - skracanie linków - marek677 - 23-10-2017 15:25

omegle
Nie wiem czemu wyskoczyła mi randomowa captcha - podobno są na to metody, jak będzie mi się chciało, to doimplementuje, przetestuję itd... Co ciekawe, nie zmieniłem tekstu którym spamuje, a ludzie dalej wchodzą... widocznie rotacja ludzi jest całkiem spora. Najs.

Co dalej?
Deploy na VPS'a!

Co mnie powstrzymuje?
Captcha. I teraz tak:
mogę albo zapłacić jakiemuś serwisowi za jej rozwiązywanie, ograniczając liczbę rozwiązań do np. kilku na godzinę...
ALBO
Mogę ograniczyć skrypt, żeby działał godzinę po czym godzinę odpoczywał - to powinno sprawić że captcha nigdy nie wystąpi! (TODO: Test the thesis)

dev/urandom
Drugi projekt! Zostawiłem konto żeby działało więcej niż jeden dzień... i co no, szału nie ma dupy nie urywa.
Założyłem więcej kont - mam obecnie 6. Powinny cyrkulować co 24h, chyba że mam jakiś błąd w skrypcie - to przedłuża ten czas do 24h - zobaczymy jak to wyjdzie. Przy dobrych wiatrach powinienem przetrwać na tym jakiś tydzień.

Sprawdziłem czy konta da się robić automatycznie - no nie bardzo... jest to problem, nie ukrywam.
Zarobki, czyli to co misie lubią najbardziej
Tak dla ciekawskich, wrzucam zarobki jakie były na przestrzeni kilku ostatnich dni...
Ogólny stan konta: $2,66
[Obrazek: stats.jpg]


RE: Dziennik informatyka - skracanie linków - marek677 - 24-10-2017 01:14

Omegle v2?
Wielkie plany, olbrzymie marzenia - zrobić tak żeby było dobrze!

Napisałem pierwszą libkę w pythonie - w wielkim skrócie jak działa..:
>Ustawia wszystko w kolejkę (czeka aż kolejka co jakiś czas się wypełni)
>Osobny thread zrzuca po jednym wpisie z kolejki , robi co ma robić Wink

Brzmi prosto, prosto nie było. Okazało się że jest mnóstwo problemów z kolejkami i ich obsługą (albo ja jestem głupi i nie rozumiem - bywa i tak). A może cały projekt jest bez sensu i tylko utrudniam?

W całej konfiguracji chodziłoby o to, żeby dało radę tym zdalnie zarządzać - przez www.
VPS
Podobno kończy mi się na nim ram i mam "za dużo" aktywnych procesów - jako że tworzę nową sesję co 20 minut... coś może być nie tak - może nie kończę starej?

Zresetowałem vpsa, do jutra powinno styknąć.

Co dalej?
Trzebaby sprawdzić co się dzieje na VPS'ie, że tyle procesów dostaję. Z tego co widzę to wirtualne okienko się nie zamyka, jak kończę z nim zabawę - a to źle.

@edit Odpowiedzi w temacie - 32! Okrągła liczba Jerk2
@edit2 Znalazłem mały błąd... zobaczymy, może to jest to!


RE: Dziennik informatyka - skracanie linków - Manderigon - 24-10-2017 08:13

Powodzenia Smile


RE: Dziennik informatyka - skracanie linków - marek677 - 24-10-2017 23:58

Środowisko testowe
Wykażmy się odrobiną profesjonalizmu i postawmy sobie środowisko testowe, zamiast bezmyślnie wszystko deployować na VPS... brzmi jak dobry pomysł, no nie?

Spodziwajmy się więc nowego cyklu życia projektów, wyglądającego następująco:
Windows (dev) > VM-linux(dev) > VPS

Co zrobiłem?
Zainstalowałem linuxa, powalczyłem z konfiguracją (Notka na przyszłość [[ Jak oszczędzić sobie godzin walk ]] gateway 10.0.0.1, windows 10.0.0.2, linux 10.0.0.3) //Są tu jacyś ludzie, którzy mogliby potwierdzić że tak to ma być?
Zainstalowałem ssh, bo wygodniej... stworzyłem sobie klucz po którym będę się logował - znowu wygodniej.
Zainstalowałem na nim zabbixa (nowszą wersję najwidoczniej, więc screeny mogą się troszkę różnić) - to takie narzędzie w formie strony www do monitorowania sieci.
Doinstalowałem pythona (to już właściwie kwestia sekund).

Co dalej?
Przydałoby się mieć jakiś tool do logów - jak "udowodniono w postach powyżej" - wiem, kiedy coś się skiepściło, ale logi wrzucane na stdout nie są wystarczające do prób szukania czegokolwiek.

<< Pomysł >>
Logi będą wrzucane zarówno na stdout jak i serwis http, wraz z archiwizacją do pliku - tak na wszelki wypadek, gdyby przypadkiem (czyt. jak zawsze) coś nie wyszło.
Taka opcja powinna wyeliminować wszystkie problemy (oby!) i dać mi najwięcej informacji o tym co w trawie piszczy.

Dalej nie wiem jak wrzucać logi do serwisu:
Pomysł dnia: Może by tak ustawić połączenie w sesji po http i na bieżąco dodawać logi?
Brzmi jak całkiem niezły pomysł... jak nie wyjdzie, to będzie update z inną metodą transmisji.

PS. nienawidzę mysql, więc podejrzewam że będzie bolało.

@edit HowTo deploy Flask: https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps


RE: Dziennik informatyka - skracanie linków - marek677 - 25-10-2017 16:10

Logs!
Napisałem sobie prostą stronkę do wysyłania i późniejszego przeglądania logów.
Jak to w mniej więcej działa - w pythonie, bo jakby inaczej!
> apache przekazuje zapytanie o stronę do skryptu w pythonie (ad. edit postu powyżej).
> skrypt w pythonie z użyciem flaska wypełnia template (baza danych w sqlite)
> jest dodana podstrona, na którą wysyła się logi. Tak najprościej... (czas wysłania pojedyńczego loga - 0.0190000534058 sekund)
> osobny skrypt (ten już będę ręcznie odpalał = brak graficznego cuda do zdalnego odpalenia) do wrzucania nowych "kategorii" logów - czyli nowej apki która je wysyła

Chyba tyle, dodaję screena dla tych którzy z jakichś dziwnych powodów chcieliby zobaczyć jak to wygląda (za piękne nie jest, grafikiem nie jestem!) - jak klikniesz w obrazek to bedzie większy!
[Obrazek: logservice.jpg]
Z ciekawostek - skrypt ma 71 linijek. Wraz z opcją uruchomienia jako standalone apka (bez apache),

Dalsze plany?(TODO)
Przerobić obecne skrypty, żeby były zintegrowane z cudem przedstawionym wyżej. Praktycznie do tego podchodząc, bardzo możliwe że napiszę je od nowa... Undecided


RE: Dziennik informatyka - skracanie linków - marek677 - 26-10-2017 17:57

Integracja!

[[Poniżej bardzo dziwna konstrukcja zdania:]]
>Biorąc moduł odpowiadający za logi z projektu omegle, wrzucając go do pierwszego projektu...
>Zmieniając kod log_modułu
>Odpalając frontend serwisu z logami
MAMY KOMPLET!

Tak więc, zobaczmy co w trawie piszczy:
Po przepisaniu wszystkiego "na nowo", wraz z wcześniejszym rozrysowaniem algorytmu na kartce (tego nie chcecie widzieć, uwierzcie mi!).
Czas na testy - tutaj są obrazki - ponownie można kliknąć, żeby zobaczyć większy...
Wczoraj, jakoś w nocy, próba pierwsza (screen z zabbix'a):
[Obrazek: zabbix_cpu.jpg]

Co generuje takie duże obciążenie procesora (komenda top i htop)
[[Tą drugą ktoś mi podpowiedział - dziękuję serdecznie. Jeśli chcesz być wspomniany, zwyczajnie się odezwij Tongue]]):
[Obrazek: top.jpg]

[Obrazek: htop.jpg]

Wygląda na to że to przeglądarka, a ja zbytnio problemu nie mogę rozwiązać... Chyba że coś wymyślę.

Spoglądamy w logi, żeby zobaczyć czy wszystko się udało
(dla celów testowych - zamiast restartować wszystko co 20 minut, restartujemy co pięć):
[[BRAK SCREENA - przepraszam]]
Z tego co pamiętam - co któreśtam(naprawdę losowo) logowanie działa, co opóźnia cały proces.
Poprawka z serii DEBUG:
Zrobić screenshoota po zalogowaniu.
Wynik:Screenshoot poprawny, wszystko powinno działać.

Analizujemy skrypt
W jaki sposób sprawdzane jest, czy konto jest zalogowane? Tworzona jest jakaś operacja. Sprawdzamy czy pisaliśmy to na kolanie, a potem bezmyślnie wkleiliśmy - wygląda na to że tak.
Poprawka z serii DEBUG: Zrobić screenshota po wykonaniu operacji
Wynik: Screenshoot niepoprawny, korelacja z logami - operacja zawsze zawodzi.

Próba poprawek kodu
po analizie strony od nowa, zauważyłem że gdzie-niegdzie nazwy są niepoprawne (jakim cudem to się wcześniej logowało to nie mam pojęcia...).
Poprawka: Wpisać poprawne nazwy, napisać więcej kodu...

Wszystko działa?
Test: Zostawić na noc i sprawdzić co dalej...
[Obrazek: final-log.jpg]
Rano: Spoglądam w logi - całkiem sporo tam błędów na końcu.
Problem: Brak bardziej szczególnego logowania (nie wiem jaki exception wystąpił!) - ten błąd z założenia miał nigdy nie występować...
Poprawka: Wysyłać szczegóły na temat exceptiona, żeby zobaczyć co jest nie tak.

Co dalej?

Zostawiam skrypt, niech sobie działa - Czekam w nadziei, że problem znowu się pojawi...

@edit
Skrypt nie wykrywa że dostał bana - w sumie nigdy tego nie robił... pora to zmienić!
Log z testu:
Kod:
[18:31:09] InitOnce succeed!
[18:31:09] Changed number - 1 out of 2
[18:31:13] 20mins loop - start
[18:32:32] Tried to log in as xxxxx
Stats(form_login:1 form_password:1 form_submit:1)
[18:32:35] Saved screenshoot as /tmp/gg_after_login.png
[18:33:10] Initial Spin - login confirmed
[18:33:16] Saved screenshoot as /tmp/gg.png
[18:33:21] Account probably banned
[18:33:21] Destorying Webdriver
[18:33:21] Changed number - 2 out of 2
[18:33:25] 20mins loop - start
[18:33:52] Tried to log in as yyyyy
Stats(form_login:1 form_password:1 form_submit:1)
[18:33:56] Saved screenshoot as /tmp/gg_after_login.png
[18:34:10] Initial Spin - login confirmed
[18:34:15] Saved screenshoot as /tmp/gg.png
TODO: Obserwacja działania + Pora popracować nad wydajnością Smile)
@edit-end

PS. Znowu mam wrażenie że piszę do siebie, więc trzeba zadać pytanie do publiczności:
1) Jak wam się podoba taka forma prowadzenia dziennika - z para-technicznymi uwagami
2) Wolelibyście na przyszłość formę taką jak poprzednie posty - gdzie przechodzę od razu do rozwiązania, czy wolicie zobaczyć w jaki sposób doszło do takiego rozwiązania
3) Czy wpisy nie są troszkę przydługie? Naprawdę chce się komuś to czytać? Zawsze można to skrócić.
4) Znowu, zupełnie jak poprzednio - jak czytasz to zostaw po sobie ślad, zrobi mi się cieplej na serduszku (a jakbyś był tak miły żeby odpowiedzieć na powyższe pytania to już w ogóle cud, miód, orzeszki)


RE: Dziennik informatyka - skracanie linków - Maro - 26-10-2017 18:07

1. Podoba sie fajnie Smile
2.W jaki sposob do rozwiazania
3. Daje rade Big Grin(nie wszystkie ale)
4. Patrz na wyswietlania tematu Smile bedziesz wiedzial czy ktos zagląda( mniej więcej)


RE: Dziennik informatyka - skracanie linków - marek677 - 27-10-2017 04:29

Jak zredukować CPU usage?
Krótko mówiąc, cały setup zużywał 100% CPU.
Co w setupie? python, selenium, chrome
Jako, że skrypt już działa jako-tako stabilnie, postanowiłem zająć się tym problemem...

Google na ratunek
1) Sprawdzić jakie procesy działają...
proces który (po krótkim szukaniu w googlach) okazał się być flash'em zużywał dużo CPU
Wniosek: Zablokować!
Efekty: Żadnych nie uświadczyłem

2) Sprawdzenie rozwiązań z google
jakieś losowe komendy, które powinny pomóc... Mniej więcej update wszystkiego do nowszych wersji.
Kod:
apt-get install openssl gem ruby xvfb
Efekty: Żadnych nie uświadczyłem

3) Warto czasem myśleć...
"używam najnowszego chrome... a czy chromedriver (cudo, które pośredniczy między skryptem a przeglądarką) jest najnowszy" - okazało się, że nie. No to co, backup (tak na wszelki wypadek!), pobieram najnowszy (to już ręcznie, bo apt-get nie daje najnowszego - jak się okazało) i jazda!
Problem:
Kod:
chromedriver: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory
I rozwiązanie (z google, ale domyśleć się łatwo):
Kod:
apt-get install libgconf-2-4

Efekty
Zamiast zużywać 100% CPU, skrypt zużywa 10-70%. Zazwyczaj jednak nie przekracza 40% - SUKCES! Idea

PS. Pobawiłem się z ustawieniami Mysql, co zaoszczędziło trochę RAM'u.


Dziennik informatyka - skracanie linków - Miluus - 27-10-2017 08:37

Gdzie posiadasz serwer?

Wysłane z mojego KIW-L21 przy użyciu Tapatalka