Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ściąganie masowo danych
SN@JPER^
post
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.
Go to the top of the page
+Quote Post
katsuo
post
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
Go to the top of the page
+Quote Post
greycoffey
post
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


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.
Go to the top of the page
+Quote Post
alegorn
post
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.
Go to the top of the page
+Quote Post
SN@JPER^
post
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?
Go to the top of the page
+Quote Post
alegorn
post
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
Go to the top of the page
+Quote Post
SN@JPER^
post
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?
Go to the top of the page
+Quote Post
alegorn
post
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
Go to the top of the page
+Quote Post
SN@JPER^
post
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
Go to the top of the page
+Quote Post
m44
post
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ć.
Go to the top of the page
+Quote Post
erix
post
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!
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #12





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Od kiedy odkryłem PhantomJS do spółki z CasperJS, nie używam nic innego tongue.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:02