Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ściąganie masowo danych
Forum PHP.pl > Forum > PHP
SN@JPER^
Witam,

będę potrzebował ściągać dane z 20-30, poźniej może więcej. Czy CURL i CRONTABS to dobre rozwiązania na takie cos?

Macie jakieś ciekawe pomysły na takiego typu rzeczy, na masowe ściąganie danych z kilku stron naraz.

Pozdrawiam.
katsuo
Ja użyłbym bash+wget+cron. Wget obsługuje cookie, wznowienie pobierania i masę innych opcji. Ściąganie dużych plików za pomocą php i curl to przekombinowanie sprawy, niepotrzebna komplikacja- moim zdaniem.
Tak na szybko:
- katalog
--- podkatalogi z plikiem tekstowym, cookies i innymi bajerami
Skrypt przeszukuje podkatalogi w poszukiwaniu pierwszego niezabokowanego pliku z linkami, blokuje go(lockfile) i ustawia wget
Resztę sobie dopisz:P
greycoffey
Cytat(SN@JPER^ @ 8.08.2012, 01:57:27 ) *
będę potrzebował ściągać dane z 20-30, poźniej może więcej.

A ja dziś na śniadanie zjadłem 5, a potem 8. Mój organizm dostał 458.
alegorn
ściągasz strony i parsujesz? czy parsujesz w locie?
nie ma jednego rozwiazania, czasem trzeba stosowac rozwiazania pisane pod jeden serwis..
ale dla 90% curl, lub wget - wystarczy.

crontabs? mozna i tak.

ja oddpalam wątek na kilku screenach, z odpowiednimi parametrami - i jedzie równolegle. tyle że tutaj musisz to dobrze przemyśleć by nie dublować pracy.

jak do tej pory - to z powodu upierdliwosci adminow - nie dalem rady(jeszcze ;P ) jednemu serwisowi.. mniej wiecej od dwu lat tym sie bawie, co przeklada sie na kilkanascie milonow roznych danych

j.
SN@JPER^
A jak ma się to z szybkością pobierania?
alegorn
tzn? o co dokladnie pytasz?

predkosc sciagania - ma sie do wielkosci lacza jakie masz + soft jaki napiszesz + (ilosc prockow*ilosc odpalonych watkow)

ja na stacji roboczej odpalam ok 10 - 12 wątków (8G ramu)

w zaleznosci czy sciagasz - czy przetwarzasz, czy masz pewne adresy - czy musisz je sprawdzac - to wychodzi od kilku stron na sekunde - do kilku na minute * ilosc watkow.
j
SN@JPER^
No i tak to będzie ściągane w tle Crontabs. No właśnie, chodziło mi - czy ściągać te dane naraz z 30 stron, czy podzielić je na x części?
alegorn
a bo ja wiem co ty tam chcesz robić?

30 stron to niewiele. powinno ci się w sensownym czasie ściągnąć nawet ja jednym procesie..
j.
edit literowka
SN@JPER^
Jeśli stron będzie 100,200, 1000. Jak to podzielić? Pobieranie, parsowanie -> dodanie do bazy
m44
Zrób sobie demona w Supervisord, który będzie klientem dla jakiegoś mechanizmu kolejkującego twoje zadania (tutaj parsowanie stron, czy cokolwiek chcesz tam robić), na przykład RabbitMQ. Na początek to powinno wystarczyć.
erix
~m44, daj spokój, przystosowanie tego do obsługi przez supervisord zajmie tyle czasu, co napisanie zwykłego bashowego skryptu.

Ja proponuję bash+(wget|curl). Zresztą, wget ma wbudowany tryb pajączka i podejrzewam, że obeszłoby się bez skryptu basha. ;p
wNogachSpisz
Od kiedy odkryłem PhantomJS do spółki z CasperJS, nie używam nic innego tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.