SN@JPER^
8.08.2012, 00:57:27
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
8.08.2012, 03:19:07
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
8.08.2012, 09:12:10
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
8.08.2012, 10:33:28
ś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^
8.08.2012, 11:01:58
A jak ma się to z szybkością pobierania?
alegorn
8.08.2012, 11:28:09
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^
8.08.2012, 12:20:17
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
8.08.2012, 13:02:52
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^
12.09.2012, 03:58:32
Jeśli stron będzie 100,200, 1000. Jak to podzielić? Pobieranie, parsowanie -> dodanie do bazy
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
12.09.2012, 10:34:23
~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
12.09.2012, 13:05:33
Od kiedy odkryłem PhantomJS do spółki z CasperJS, nie używam nic innego
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.