Sziasztok,
A következő PHP programot szeretném futtatni, a kérdésem, hogy melyik tárhelyet kéne választanom, illetve van-e erre egyáltalán lehetőség?
A PHP-ben van egy ciklus, ami kb. 1 milliószor futna le. A cikluson belül cURL-lal bejelentkezek egy weboldalra, majd annak az aloldalait töltöm le, ugyancsak cURL segítségével, regexp-vel pedig kiszedek minden aloldalból bizonyos adatokat és az SQL adatbázis 10 különböző mezőjébe írom azokat.
1 milliószor hosszú órák alatt futna le... a kérdésem egyrészt, hogy be lehet-e úgy állítani a futási időlimiteket (tehát egy LAMP-ban van-e erre lehetőség), hogy a ciklus 1 milliószor lefuthasson, mégpedig a CRON tudja futtatni, mert automatizálva lenne a dolog, heti 1x futna végig, másrészt pedig szólnának-e érte a tárhelyesek?
- 5186 megtekintés
Hozzászólások
Nem hiszem, hogy szólnak, csak letiltják a francba a tárhelyed. Ezt inkább VPS-en kéne.
--
Fontos! Ha berágok, nem feltétlen személyed ellen szól...
openSUSE 13.1 x86_64
- A hozzászóláshoz be kell jelentkezni
+1 De ha tenyleg csak hetente kell akkor azt is csinalod a mint a bigdump meg egyeb projektet, egy sima sqlite vagy akar file db-ben letarolod azt hogy hol jarsz, aztan reszekre bontod annyira amennyit a maximalis futasi ido enged, aztan reszenkent dolgozodd fel, igy akar ha jol csinalod akar tobszallasithatod is, gondolom takolt kodrol van szo amugy is szoval kis pofozassal megoldhato.
Hogy orulni fognak-e neki az mas kerdes, meg hogy mennyire engedik meg a kulso oldal latogatast, mennyi foralommal jar, mennyi CPU-t eszik, mennyi tarhely kell neki stb stb altalanosaggban a VPS jobb otletnek tunik...
- A hozzászóláshoz be kell jelentkezni
+1, amit Te akarsz, az gyk egy crawler. Az osztott hostingok ugy vannak meretezve, hogy az ido toredek reszeben igenyel gepidot az oldalad, ez pedig egy jelentos reszt igenylo folyamat. -> VPS.
--
Pásztor János
Üzemeltető Macik
- A hozzászóláshoz be kell jelentkezni
Ha osztott tárhelyes szolgáltatókra gondoltál, akkor az az alapszolgáltatásba biztos nem fér bele. Ha más típusú tárhely szolgáltatásod van, akkor az a szerződésedtől függ.
1 millió lekérés többszálúsítva tudna csak belátható időn belül lefutni. Heti ilyen számú lekérésnél, már az adatforgalom is szép lehet, így azzal is célszerű kalkulálni. Erre a legjobb talán már az ajánlott VPS lehet, illetve ha heti 1m sorod keletkezik, akkor érdemes elgondolkodni, valamilyen nosql megoldásra váltáson.
- A hozzászóláshoz be kell jelentkezni
Azt nem tudom pontosan miről lenne szó, de ilyen feladatot inkább C-ben oldanék meg. PHP több erőforrást zabálna, ha cURL-t külsőleg hívnád meg akkor meg végképp nagyobb terhelést okoz. Pláne ha egymillió lefutást / hét tervezel.
Másik kérdés hogy az említett weboldal mennyire venné zokon hogy Te ennyi kapcsolatot létesítel vele rövid időn belül.
- A hozzászóláshoz be kell jelentkezni
Kapcsolódik, ha Python lehetséges opció: https://github.com/scrapy/scrapy
- A hozzászóláshoz be kell jelentkezni
Nekem ilyen e-mail cím gyűjtő proginak hangzik elsőre.
Kérdésedre a válasz: tárhely tuti nem, mert azonnal letiltják.
Ezt csak saját szerverről tudod megoldani, de a szolgáltatód azonnal tilt, amint valami galádságot csinálsz.
- A hozzászóláshoz be kell jelentkezni
Nem e-mail cím gyűjtő és nem is illegális.
- A hozzászóláshoz be kell jelentkezni
szerintem 2 lekérés/mp elmegy egy olyan weboldalnak ami 1 millió rekordot tart nyilván.
Ez 5 óra alatt végez. Miért baj ha órákig fut?
- A hozzászóláshoz be kell jelentkezni
Nem tudom, a fenti hozzászólások szerint baj.
- A hozzászóláshoz be kell jelentkezni
3600*2*5 != 1.000.000
A robots.txt-bol ki lehet szedni, hogy mennyi van engedelyezve.
A hup.hu eseten: Crawl-delay: 10
Ilyen iramban 1 millio oldal az 1.000.000/24/360 ~ 115 nap.
A szabalyok oldalankent valtoznak, en kuldtem mar /dev/null-ba tobb /24-es alhalozatot mert nem tartottak be a robots.txt-t.
Ha meg vagy egyezve az oldal tulajdonosaval, akkor persze rad nem ervenyes a robots.txt.
- A hozzászóláshoz be kell jelentkezni
A 115 napos matekot nagyon elszámoltad szerintem :)
Szóval 2*60*60*24*7 = 1209600 / 1M = 0,83 vagyis másodpercenként 2 lekéréssel 1 héten belül lefüt a ciklus kényelmesen, még rövidebb leállás is belefér.
- A hozzászóláshoz be kell jelentkezni
"Crawl-delay: 10 ... Ilyen iramban"
- A hozzászóláshoz be kell jelentkezni
Attól függ. Ha egy oldalt öl, akkor ki fog bukni. De ha van mondjuk párezer oldal, akkor elég jól eloszlik a terhelés.
De az is lehet, hogy engedélye van erre az oldal tulajától, csak akkor meg miért öli a weboldalt ha elkérhetné az adatbázist is...
- A hozzászóláshoz be kell jelentkezni
Ez egy olyan oldal, ahová rengetegen rengetegféle kiegészítőt írnak, aloldalakat hoznak létre, szóval nem érdekli a tulajokat az ilyen jellegű tevékenység. Van API-ja is az oldalnak, de erősen béta állapotú, kevés dologra ad lehetőséget.
- A hozzászóláshoz be kell jelentkezni
A robots.txt az nem oldalra vonatkozik, hanem domain-re, es nem IP-re, hanem crawler-re.
Az a minimum, hogy a robots.txt-t gyakran kell nezni es be kell tartani. Ha egy masik szolgaltatasra akarsz epiteni szolgaltatast, akkor gyozodj meg rola, hogy a Felhasznalais feltetelei az oldalnak mit engednek meg neked.
Amugy szerintem lehet, hogy jobb otlet az otthoni gepen futtatni a scriptet, egy het alatt a hatterben lefuthat, nem kell neki sok eroforras, a hatterben mehet a letoltes mikozben te egyebre hasznalod a geped.
Amugy nem jobb neked egy ilyesmi?
http://www.httrack.com/
vagy win ala:
http://www.tenmax.com/teleport/pro/home.htm
A httrack ugy tudom tiszteletben tartja a robots.txt-t is (ugy tudom). Ezekkel konnyebb frissiteni is, mert tudjak nezni az utolso modositasi datumot (ha a webserver is tamogatja).
Ha lejott, akkor lokalisan feldolgozod a cuccokat.
- A hozzászóláshoz be kell jelentkezni
Az jutott az eszembe, ha nem illegális meg pláne ha nem titkos, akkor mutasd meg a szimpatikus szolgáltatónak, hogy ezt szeretnéd futtatni, időzítve, akár csúcsidőn kívül - ha neked jó úgy, és tudnak mondani nyugalmasabb időszakot.
Ha nem foglalkoznak veled, akkor eleve felejtős a support. Ha válaszolnak, hogy bocs, nem, akkor az tiszta ügy. Ha meg meg lehet velük dumálni, akkor az a legjobb, mert ők is látják, hogy nem akarsz sumákolni, meg te is látod, hogy lehet velük tárgyalni.
- A hozzászóláshoz be kell jelentkezni
Ha nálam ilyet csinálnál, nem igen örülnék neki! :D Technikailag szerintem megoldható, de hamar kiderül - az meg már szolgáltatótól függ, hogy kedvesen érdeklődik hogyan léted után, vagy egyszerűen szó nélkül letilt a többi user védelmében. Szerintem is inkább VPS-el vagy saját vassal lenne érdemes próbálkozni.
A legalitást nem firtatom, egyrészt mert nem rám tartozik, másrészt pedig mert én is csináltam hasonlót, igaz ott "csak" százezres volt a nagyságrend. Elvileg az is legális dolog volt, de a másik fél simán lelőtt... külön egyezkedni kellett velük, hogy milyen gyakorisággal, mikor, mennyi adatot "lophatok" a rendszerükből, hogy ezzel nekik se okozzak irreálisan nagy terhelést - csak ez után oldották fel az IP címem blokkolását.
- A hozzászóláshoz be kell jelentkezni
Jham, ezt kifejeltettem, hogy a másik oldal mit szól a millió bejelentkezéshez. Mert úgy írtad (mármint Breaknet :D), hogy a cikluson belül jelentkezel be, ami miatt esetleg sikítófrászban törnek ki. Persze ha annyiféle userrel kell belépni, az egy másik dolog, de attól még lehetnek idegesek.
- A hozzászóláshoz be kell jelentkezni
Csak egyszer lépek be, aztán a cikluson belül már a letöltött cookie-val, token-nel azonosítom magam.
- A hozzászóláshoz be kell jelentkezni
Nincs ebben tapasztalatom... ha felraknék egy LAMP-ot a saját gépemre (2 magos Intel E5200, 2 GB RAM), akkor mennyi idő alatt tudnám lefuttatni a ciklust?
A ciklus 100x ingyenes tárhelyen 25 mp alatt fut le, vagyis 1 milliószor 1 hét alatt futna le. De amúgy rájöttem, hogy csak az 1. alkalommal kell neki 1 milliószor lefutnia, utána már csak 2-300 ezerszer, mert 1 milliószor csak azért kell lefutnia, hogy feltérképezze az összes élő oldalt, a későbbiekben pedig már csak az adatokat kell aktualizálnom.
- A hozzászóláshoz be kell jelentkezni