Reklama
Pokazuje wyniki od 1 do 6 z 6

Temat: Ściąganie danych z innych stron - najwydajniejszy sposób

  1. #1

    Ekspert: Sprzęt i oprogramowanie
    Mistrzu dragon jest teraz offline
    Avatar Mistrzu dragon
    Data rejestracji
    2006
    Położenie
    20 cm od klawiatury
    Posty
    1,857
    Siła reputacji
    20

    Domyślny Ściąganie danych z innych stron - najwydajniejszy sposób

    Mój pierwszy i ostatni program z wyciąganiem danych to było stworzenie czegoś co wyciągnie pare danych z 2 stron i wpakuje je do bazy danych , przemieli i wyswietli gotowy kod na forum zrobiłem to wszystko za pomocą preg_match (_all) i działa , ale dziś przeczytałem to :

    Cytuj Trickhor napisał
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Cytuj Pluton napisał
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    ile Ci zajmuje aktualizacja tego? xD
    30 minut~ przy 100mb internecie

    50~ minut przy niestabilnej radiówce 10mb
    I... szok. Kod wykonuje się tyle czasu wyciągając dane z 530 stron (pętla frunie 265 razy , bo tyle użytkowników jest aktualnie w tym rankingu) z każdej wyciąga od 2 do 7 danych i upycha je do bazy danych MySQL , wszystko postawione na Xampie.
    Czy to jest normalne że na zwykłym pc trwa to tyle czasu? Jaki inny język poradzi sobie z tym znacznie szybciej? (nie pogardzę nazwami gotowych bibliotek)
    Powyższy post może być sarkastyczny oraz zawierać śladowe ilości orzechów arachidowych.

  2. #2
    Avatar Bazan
    Data rejestracji
    2008
    Wiek
    31
    Posty
    1,909
    Siła reputacji
    18

    Domyślny

    Tak, moze to tyle trwac. Jedno z rozwiazan? Pobierac rownolegle. Jak? Javascript - jQuery + Ajax.

    Ja tak robilem jak robilem skrypt sprawdzajacy czy postac jest online w tibii i jaki ma lvl. Dla 40 postaci skrypt robil sie jakies 3minuty, jak zrobilem to w javascript, calosc trwa z 15s.

    Najdluzszy w tym wypadku jest czas oczekiwania na wczytanie strony, + zapytania sql.

    Nie wiem jak robisz zapis do bazy, ale z tego co sie naczytalem (na razie praktycznego doswiadczenia nie mam) to w porownaniu do wykonywania php, wykonywanie zapytac do mysql trwa dlugo.

    Wiec zamiast zapisywac do mysql co petle, moglbys zapisac najpierw caly wynik do jakiejs tablicy, i w jednym zapytaniu zapisac wszystkie dane. Ale to tylko koncepcja, nie zdziwie sie jak gowniana :P

    Tez jest ciekaw jak to sie powinno poprawnie zrealizaowac, trzeba czekac na jakiegos mastaha :D
    Ostatnio zmieniony przez Bazan : 13-10-2013, 18:42
    Dreaming by drumming. ˆˆ™

  3. Reklama
  4. #3

    Ekspert: Sprzęt i oprogramowanie
    Mistrzu dragon jest teraz offline
    Avatar Mistrzu dragon
    Data rejestracji
    2006
    Położenie
    20 cm od klawiatury
    Posty
    1,857
    Siła reputacji
    20

    Domyślny

    Zrobiłem tak że zamiast ładować każdy wynik na bieżąco do bazy to zapisuje go do zmiennej a na końcu pętli ładuje wszystko do bazy jednym UPDATE.
    Wynik?
    Test na 12 osobach (24 strony) - 10 mb net :

    Stary kod :
    Time taken = 113.51 secs

    Poprawiony kod :
    Time taken = 68.75 secs
    Wzrost wydajności : 39%

    Nieźle jak na początek. Spróbuje zrobić to w js (mimo że nie napisałem w tym języku nawet hello world xd)
    Jakieś wskazówki czym to ściągać? funkcja regex się nada?
    Powyższy post może być sarkastyczny oraz zawierać śladowe ilości orzechów arachidowych.

  5. #4
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    a mam takie pytanko, ja bede potrzebował pobierania ze strony dokladnie 4 liczb typu float? Duzo to bedzie czasu zajmowalo? (za kazdym odpaleniem programu ma tak robic, chyba ze nie ma polaczenia do neta)

    btw. koduje w C#

  6. #5
    Avatar Absherr
    Data rejestracji
    2008
    Położenie
    Kraków
    Posty
    578
    Siła reputacji
    16

    Domyślny

    Zależy od połączenia internetowego, wielkości strony i implementacji. Najlepiej napisz i sprawdź.
    Ostatnio zmieniony przez Absherr : 14-10-2013, 23:19

  7. #6

    Ekspert: Sprzęt i oprogramowanie
    Mistrzu dragon jest teraz offline
    Avatar Mistrzu dragon
    Data rejestracji
    2006
    Położenie
    20 cm od klawiatury
    Posty
    1,857
    Siła reputacji
    20

    Domyślny

    Dobra , pociąłem ten kod i wyszło że ściągniecie całej strony przez (file_get_contents) która ma 23k linijek kodu zajmuje nawet 90% (!) całego czasu wykonywania. Wyciąganie danych trwa tyle co nic.
    temat do zamknięcia
    Powyższy post może być sarkastyczny oraz zawierać śladowe ilości orzechów arachidowych.

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Odpowiedzi: 10
    Ostatni post: 24-06-2017, 20:54
  2. Autouzupełnianie się danych na podstawie innych danych w Excelu.
    Przez Scrath~ w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 1
    Ostatni post: 30-01-2014, 18:17
  3. ściaganie muzyki
    Przez Cisekkozak w dziale Muzyka
    Odpowiedzi: 6
    Ostatni post: 09-08-2012, 00:12
  4. Ściąganie gry.. wtf?
    Przez Zaster w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 1
    Ostatni post: 12-02-2012, 12:42
  5. Sciaganie za pomoca elektroniki
    Przez Thpo w dziale Szkoła i nauka
    Odpowiedzi: 8
    Ostatni post: 01-01-2012, 19:29

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •