Zpět na seznam článků     Zpět na článek

Komentáře ke článku

 
 
 BBCode
Karel2 | 89.24.147.*8.3.2014 8:39
Kdysi jsem si udelal sveho hlidace na katastr nemovitosti. Mel jsem z neho radost do te doby, nez tam dali captchu... :-( Kdyby snad nekdo vedel, co s tim, tak budu vdecny za nakopnuti spravnym smerem.
Fil-kun | E-mail5.3.2014 20:15
Skvělá série video přednášek, která se zabývá vyhledáváním a spravováním dat.
[link]

----------
Spravedlnost bez síly je marnost, ale síla bez spravedlnosti je zločin.
Jakub Tětek | E-mail | PGP5.3.2014 18:36
Hodza:
Děkuji za poznámku, toto jsem měl zmínit. V tomto případě to samozřejmě jde řešit takto, ale tento příklad měl sloužit pouze jako demonstrace toho, jak fungují internetoví boti. Už dělám na dalším článku, kde budeme dělat bota, kterého by takto elegantním one-linerem udělat nešlo. Také tam bude Bash skript na stahování Google map.

----------
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d- s-:- a--- C+ UL++ L+++ W++ w-- PGP++ b++
------END GEEK CODE BLOCK------
hodza | E-mail | Website5.3.2014 16:19
Docela nerozumím té mánii všechno programovat Pythonu, Perlu či PHP. Jako kdyby to nešlo přímo z konzole.

curl [link] grep -o -E '<h3 class="title"><a href="([^"#]+)"'| cut -d'"' -f4

----------
I přestože jsem paranoidní neznamená, že mě nedostanou...
Bystroushaak | E-mail | Website | PGP5.3.2014 8:28
Jakub Tětek: Optimalizovat crawler dopředu na rychlost pomocí regulárních výrazů se mi zdá jako nejhorší možný případ předčasné optimalizace.

Nehledě na to, že skoro každý tvůj regulární výraz se v reálném světě krutě rozbije, až narazí na něco nevalidního.

Ale tu myšlenku napsat tuhle sérii článků chválím, už delší dobu mám rozepsán článek na podobné téma, jen nějak chyběla motivace ho dopsat.
Helden für D. | 188.175.92.*4.3.2014 21:12
Crawlery jako takove muzou mit milion vyuziti. At uz pro stahovani emailovych adres, tak po delani vlastniho vyhledavace.... treba. Moznosti nejsou omezene, jen cim je to sofistikovanejsi, tim vice se nad tim musi premyslet.
Jakub Tětek | E-mail | PGP4.3.2014 20:19
Ano, to máš pravdu. Když jsem s psaním botů začínal, tak jsem byl takto zablokovám na Google maps a dalších několika serverech.
Měl jsem na mysli crawler, který na stránce hledá odkazy, ty stáhne, vyhledá odkazy a tak pokračuje. Pokud takový crawler děláš, tak je dobré, aby měl více, než jednu queue.
My se tu ale budeme bavit spíše o botech, kteří jsou děláni na získávání informací z jedné konkrétní stránky. Tu stránku pak stáhne třeba jen jednou za pár minut. Proč tu také píši o výkonové náročnosti se ukáže v jednom z posledních článků série (nechte se překvapit, o čem bude).

----------
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d- s-:- a--- C+ UL++ L+++ W++ w-- PGP++ b++
------END GEEK CODE BLOCK------
Helden für D. | 188.175.92.*4.3.2014 17:12
A hlavne pri prochazeni X stranek za sekundu hrozi realny ban na serveru. Robot by mel taky umet sam hledat externi odkazy, na ne prejit a stahnout. Tohle jsem resil tim, ze jsem mel seznam vsech .CZ domen, ktere byly v urcitou dobu zaregistrovany a staci jednu po druhe prochazet...
Jakub Tětek | E-mail | PGP4.3.2014 8:53
Ano,
To je pravda, ale jak jsem psal, regexy jsou většinou rychlejší. V našem příkladě je to jedno, ale například crawler procházející několik stránek za sekundu by už byl výkonově náročný.

----------
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d- s-:- a--- C+ UL++ L+++ W++ w-- PGP++ b++
------END GEEK CODE BLOCK------
Petr Joachim | 2a02:598:7001:102:ac46:7f08:65d2:*4.3.2014 8:04
Co se týče pythonu, doporučoval bych použít na parsování HTML místo regulárního výrazu použít nějakou knihovnu. (například BeautifulSoup). Regulární výrazy mohou být někdy dost obšírně řešitelné.

Například takto: [link]

Stránky: 1 2 3