![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 1 Dołączył: 1.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
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 Ten post edytował katsuo 8.08.2012, 03:25:55 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
ś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. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
A jak ma się to z szybkością pobierania?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
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?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
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 Ten post edytował alegorn 8.08.2012, 13:47:11 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 266 Pomógł: 0 Dołączył: 4.01.2007 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Jeśli stron będzie 100,200, 1000. Jak to podzielić? Pobieranie, parsowanie -> dodanie do bazy
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 10 Dołączył: 16.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
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ć.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
~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 -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Od kiedy odkryłem PhantomJS do spółki z CasperJS, nie używam nic innego
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:02 |