Como un primer paso para la creacion de un plugin que pueda crear Sprites Css con las etiquetas <img> de html, si no que ademas las presentes en los estilos CSS y que sean suceptibles de ser spritificadas me he pasado estas ultimas semanas intalando y probando un servidor web.
Este esta instalado en Ubuntu , con un servidor nginx, php5-fpm, sql y varnish. Ha sio complejo levantarlo y que funcione todo junto a wordpress multisite y Cloudflare.
El principal problema de esa instalacion es que a traves Cloudflare no se puede acceder a la pagina de login y administracion de manera segura (por medio de HTTPS), asi que tuve que improvisar. Ahora que todo funciona puedo aseverar que no es necesario pagar un hosting para paginas que no tengan mas de 1000 paginas vistas por visitas organicas (los crawler de los buscadores no cuentan ya que apensa suponen carga real en este servidor).
Haciendo pruebas de estress descubri que se pueden llegar a servir con exito 2800 paginas de 250 clientes unicos simultaneos en menos de 10 min. Y el limite lo marcaba el ancho de banda de subida ya que el servidor no se despeina con esa carga.
Pero eso es tema de para otro post, aqui me gustaria comentar el ultimo desarrollo.
Script para obtener el contenido real de una pagina web.
Como he comentado anteriormente, el primer paso para poder localizar las imagenes a sprificar es poder interpretar la pagina a nivel de javascript (a nivel de cliente, lo que se ve en el navegador) y no a nivel de php(lo que entiende el servidor).
Los servidores tienen una manera muy limitada de leer paginas webs, la mas avanzada puede ser a traves de los objetos DOM. Aun asi esta forma tiene muchas limitaciones y es que, por ejemplo no carga los estilos asociados a los nodos. Eso descarta la posibilidad de poder usar DOM para detectar las imagenes embebidas en el CSS.
Por otro lado, de manera directa es imposible ver una pagina como se ve en el navegador de forma interna en un servidor. A no ser que se instale y configure alguna de las extensiones que hay para ello.
Phantomjs.
Despues de revisar las opciones disponible me decliné por Phantomjs. Es la mas “sencilla” de usar y la que mejor posibilidades me ofrece.
Scrapper el scrapeador.
Asi que una vez instalada y configurada, me puse manos a la obra. El scrapper tiene cierta inteligencia y solo se queda con el contenido “real”. Esto es, el post en si, no los anuncios ni los comentarios. Es lo sufiente inteligente y flexible para poder trabajar con cualquier pagina de las que he tratado hasta ahora.
Ejemplos de lo que puede pasar sin interpretar la pagina como un navegador
Mashable, que son muy cucos ellos, utilizan una forma de proteger el contenido de la pagina. La encriptacion mediante ofuscacion de codigo.
Este metodo es perfecto y el mas avanzado que existe, sin que afecte al usuario final pero haciendo muy complicado a cualquier servidor cargar y tratar esa pagina mediante PHP. La transformacion del contenido se hace en el navegador directamente siendo imposible de obtener el contenido desde una rutina en el servidor.
Veamos un ejemplo directo: si accede a la pagina http://mashable.com/2013/04/29/tech-tattoos/ podrás ver su contenido con normalidad.
Si esta pagina se cargara mediante CURL y mostrada en quitando las etiquetas <script> (para asegurarnos que no traduce el contenido) mostraria lo siguiente:
‹í}k[ÛH²ð÷<Ïûz´»cxbYWßHÌ „’™]Ú¶@–<’Œ1›9¿ýênÉ’‘Á²™9ìÌxPß««ªëÖ-õËŸ^½Û::}¿MÉÐ_öò’Y~’à?üÿÏÙÿ³Âg˜Á3‹EÅêÏŸÍJ0Š¢¬Mš!þÉžEÃn—ÿ²n>wŸýo·*%ä7…¯Xþív¿’¯¬!¦ùóWVÚeÃóo üO!Ýÿ!ð?¨Ré’ßðñæ¥ä·ªŒýü·*†úÊ: +Ðê·.6ÃOãP«,*|(B”ߺÊo|à.6î~…vÕ.@ÕUtiº<…õþ·5VÈ“Ú¯²¡ïù“$Q’~8)ex Y‹¸VbÉ4¸ìTFQèŽÄƒ ñ ß©PxºúkY QË];‘7JH2ÑŽ”ЫD9·.-ž+_Z98Ü>ÞÿÐá¾~ýõËþXãÁʯÒЊ.¤ªÔó¢8±§ •ªWVBWVk}šyCxú²úâ¥Â»…±/ñéºV’Ÿ¼ ±ú”Qg@Ž¬$ Ø ¬„œô Ù¾¤Ù É»qBÂù˜L}úRáÍŸ½ô½à‚”ÚëHƒ$)Jd95½6ŒŽÔœp¨XqL“X±F#Ù4uê4´žÞk†î¸õ¦æMêº=ÃnkÔ¬9q,‘!u=«#¬”‰¨ 7PšHyT±úÊý…q˪êXV]3ŒµuÃmõz†i4œF[ïÕ[V»ŠåûKÂÂåW¯Gü„’ÝmÒú²4£4¬+¹]oªmÝÖ4ª7§a·êjÝ0\µáÖ-ËÒoÇÒO¿ÒÀõz_Ïib’$JVH` i§„ò©<mþL¨-#åkdÙ>E¶-¶›xn2è¸ôÒs 6&ªÄ¼Ä³|9v,Ÿv´ššv}éÑÉ(Œìf†– ¢%¼Œüq\ë‡aߧ+šf˜m£U7u (ЛºY¯°©VFcÛ÷`ªQI_ÐUR7® x€`³ÞöEBt`¢I…0nîTfî”<ÇÂe¬DqüÖïÍù=wMÓ5µÞhié4 N°N`±¦ëjSS[ЬU! ,F4J¦JÏ^ƒ1»ž[Ò¤ÕR›¦Ùnªæ\‹¬ÞÒ&Áé0ùÜ|£Ç·.þÙê¿}عŠšÛ±^ׯúÇÖïvãýÎéÇÏ)Ôˆ#ˆî%S½×s/GðÂå•á< ÇÎÀpäžJÝ–©j.N¼×h˜´®6tÍPõvO3aÙ‚~JÆ|¬©ÌÚŽ” Ú¥8E “´8q9ÛçÔI€Ñ£1•ŠË¬@}]ÕE5½$ êä„‹:E¬Ç Â&ìãB¹Ï jla*gý‹éþ«íë½ë uïz·¾§k{Æ¡ªÔÓχª·Æç›ÞÁõ‡±l[ÁÆ[wg Ù’»o®w’ô•3ÝßÚÿçÙÿwgÇQtg›T7Mwó3¨úbÞY!Ž6‡3Ü%§žqžö×ÆÇVq¤»tÊϻқ/Ê˲#³[2¶%žsn`™—ô’Êe»‰½„vq •ôõ§â’å¦Ãبd*È.²jÊzûHm¯©Æšnž-Û§ ÌZ*µÝnâ•âëÆ ¦zïA†!è8oñ»I4¦D0|•LÃ1gKß’=/p æœ&/è“^IÏG£)q½ø”&IHÞ‡¾…žË“| ö7¢q|Ó1%˜–ß÷¬ZöÿžÝ2&}%—rÛn È=j%ãˆÆ)ÈäR,±qBšöÃÈ»¦.é[.Ø{1ñ½e¶™„Ñ…<ò)Ø}pŸÄw‚rA§ÐÌe6ÿgqóq“‰XŒ®îÝÀñÇ.Òè‘žu Ó´óYƒÕA,2„ Û”X íK/ÇÄ„`¡ÔÈ&@4Ah-;„ǸV€+ ?‡”ÄÆ€m+˜ÃˆþBÞE³|Ž1„XyBlèÇ c=ï’’0″šJ¦ÔŠâ_g¹º4®X!·óÆB£òDÌÑ)ŠmcäoŒ&gÅqzÍž¡µî)aŠZ$bþ+ÕOK÷„²·¤£GRwűÊõÝýa‹ÝJ¨¤/dŒpù~¬È-é¤ÞP—î‚b™í%=5ë÷íi@½þ )éJ$˜M¶¡rF?l:wöÀ_èPÏ F°®¨?e-³a*ÿ’¸ðX»SRý6VU½¹@RU%´¡—{ñQUX`lÖôO¡ù«3uÖ$ô}!…ÀgÖ´–ŽNäŒí.PëÜPÁ¨ç«RLY@*dÚrq‚̳’×áeõciíW×ÌÁò!+}$2Éå…#ω!/Õnù¼®ÊòY{¹q³Lý|Öq^’æ„°Ïg€~$?[ÃÑò´¤ôåJ G”Cô>Òø !0ÂIÛ I‡üKrVP¤{;‚/»û©y 8 GÝÛ›Ä âš¶Ìam®³;8IÒ‚]pækR[J‰=•Öô6O¡Ï´fòê,(6(ðgy̆.¼ø=ðÐ’ðç¥5ÄŽà)|ÈæƒìA’ì2aÏæ8‡‚”ÜUAãjFت fµ@ª [užX¼È¢oý”ȧ¾~%¿~yñ,õ±6p‘n±Ìsñ*C³Û¬;¶aêõºiºív³¶ê-›6ÛnÝ©Ç…@K>r—¶$(´’QèO{žï˦ÚÖi«E›Í–Þk¶zn½Ýpt‹š½VÛÔštYpòQ …E!Ÿ½´CwJ†ìTð¹ËÂd„=‚žˆeq{n§ÂÊ”\6f`'”D†ŠÑAÝY®Ö©Su–§‹nEã–\µ4tÔ©ô¼+x9ÐR€c:´X[•õÔwƒyiX&òAëù`5&2.Ëca>wA=×»d•F”^`×ifå\LYà!×2OC/XWÀX—¶Å>72e/àƒŽý´`pÈCŒA£Ápè`ó½¬B+M³ˆHDÁ8‡®D<æo8~¾Whë‡ý0ßÖŽ¬ÀM‘;ŽìD¸åäÎáEô«@ãxd9”²äKoØ’–jú Ã@’nrrY|“㌵{u[V¦Õ šÕ¬»ZÛt[mW·ëMËÑ0(Ät~Ùä@03Ä9¡ï[£Á#£1,‘íŠ R?¬3ˆ)ÁÀ^Mì#T´§ó*§ýƒ‰Ÿ—”‡Y^IN ŸÃHJMÁÿZŠ¨‘š)Y6ÒAñ¬PLôGYÂ]à7,£((Š9ndz-·Š…ÙüË3ì݈Ï>Ÿ©Îb²„-x˜ˆ!Ù¥N±PâZ®Õì™Yzc¿Ö_–ë•Q±‚¼+}S6t”„vó“íÙ²ï]¤¢¥¶j‡á7º2HYEÐ €õÇ o‚®ŽQ©( PZX~œ ,s2ö†ã±|@:ÀÀp“QŠ™Á² 4ïW´wÑ2E%™ï y3›‡óefâ¦@ƒäb¤â¬ÖŸ½æœšy#U[ª•ÃÉk b3…7Šã|ÇwEÌE„<ëFpè}$™O>ŽíÌM³(–ek”.ÖÝ–µ¿É×è‰çøQºmIë1¥[üØñè…ø?yÁ—9§^ÉŸD3°„q»à•nHž +þ#{¸1+7 G`±ß²\¹8àëEC¬€‰å8tÚn€nÈêã£×rK‚lÄ.àN€…ÛH`-º 4Äu_º¸«ÂrM}1²\ºÀ“ëÅJZ㪠ª{ÁÜ&^+µ>žëâ¦Ô¥å!É”&šñ‚‹sŽíÜ4<šNaÕÅ´$ïLÙqäÓº {=I´‘ S—PÞK¿§.ãïy#(”?8ï]te’Ÿ<Š@òDSRÄ*ÝKÒ®–âý§ebNa>¡`{ëwì’ŒËoòà”VÌ+;á<¤<™êup½`(TFa5•U!1ª(òÆ6r .£d)G`‰ÐÁM;îžJëY’ìc’-šÜdn¨˜BTå8ì%+¢U—^‚Î@õ]æ_•ïFæ¡E Dßþ»Cç^RðÜbXUÜk§ {BÄTã¡ÂÀC!ã*¨±(âêyh›Ö7Åã÷\†! pÈ€…1jŒt\M¨O/a:¸µ7ƒ¢‰b:JÌí|ú{à .ŽúÈ™XÔŽãê$Œ|Ô6”`°<�ðø£ðO0ã{CØD²pS½!JaAû H]/a”„Cp_#ë’ú2Ú²O½œ\œÁË@É™ŸIæÁT2ø{Ï=pàÜ!8ß Ê0=wÇÌ<‹ÁÓvi(ç;rÂÐg²89— @ŸÌRvÌü $ï>”Zéb8¦ïgM™g®7ùÚÉ„¥Q•^êa0wr ýXõÌÃù‡Ì˜ˆoä˸ÃÊÒüÔ§Üâ$Œ³™ÞCL—4™—•%Uɧ’ªwŠ’F·¯Û’‹—GIåÛ³¤Á¦z©Œ}ñ„¿Ë³^F1°R¬`:k› Åö™`¤ ¶ßt½ZdsÜ„Yo3€ÞOIMäÖ\½¹‡›¶%ã\ZÎF{ÏŸpGÚs¦åØì ŽPÀ_Üæ8~è6Àl»9š`A/ƒ©±=ŒPcSÍH¨x®Qo誮_†I§%{ï¸õ Ý–Ïcɞђ=p[pˆ¦ª¶›íV#Âr€KEUÔ–¢ê³Þ@yãV?ƒCêòT±oÆà!åaü4*ý1È&4àaÔôyÁú¸Ýþ˜÷¬ê^R± š¾…8‚´þ²Êmè%莹èh–{kÃB‹¸L.4â˜äãýµå{`‚|>l]1z¯NìȺ¦ˆÁ€:‰˜ÆØŒ4″ÛW£°ûøTêúñ*…|N‚Yu4DX°Ó‰Ð–BCª`‰ù!’YZŸ·OKíðªÝTï0h^:Lã§Åè9à²í” 19k+Yn7k)‚œP$özY¤XI€}ê€Ðº¨áéé¿1—ÚF»’bŠÎrƒñ°c°g±½ vXÛ[ÈŒ„4Kë1ÍÐ;lS%p!E‡|wAԕ߶îH†DøV©©·Ø¦ ·9ò9″f$Ɉ‘ÇÛ6á[#H˜¹à:Ç`ôÿÌ?›Ñ»Æƒ~ŽG…ú)E¹É(Ìh‘*Ý|a Ê”üyK¯fØã“ÀI±àž7È UÈré“‚SZÈ££ñ|áB¹lù. åæ2c…9úôJ†E=‡YÈ‘êÏS,ÓKÚm7Tb¹€ª˜@dŠ†íýaåÙv·×[ÁöVxô¨‹³ÍVÉO”izÀ³®´JDy|áH’M‰Ú¸_+rPRø,(¨„»Ìr»mêªÑj릡›Z³.aeöï+•š€¯²ZÈ“•ÕZÏÃÓÛX’ÎËhÐOd¨äçŸÉßWÜУO²Zckze•¼$Psõ_ìe|³b“Ýp¤Ž÷8]´¤œ‘Uxvc;Y ç’^9CL0öC6=£ÝÖ̶ÞÒ›RÉvôâölèdѽÚqq µzI»ÂVŠËÕÅ®N< \qê›1%/e½H¾%÷—9‡Îd“9çy¾ØiäÑø¬a<{‡ôÞêZ“͆m×[mjš–c©õºa5Ò¥;¶Eóx~“z~Kše^Rì <‹ßn´ªüׄ_~uø™âgÀO‡Ÿ?µÚ®·Åêס~ê×ëâõëP¿õëP¿õͶøA}ê›Pß„º&Ô5 ñƒú&Ô7¡¾u ¨k@]êP×€ºÔ3 žut¨£CÊu(סL׿&#†lCŸï†‡n†ÏY‚ÙŽx~gžíðÌí4Í;§¥§©*ßþrÛù·P¥PÀxxx–‡Næ¤`&øª «‘² êÀN…Ft¸nÖô‹— <Ú9³§ÁfMçÄs®”ëzÎË—¡àæB^(‰HOœŒm:“¤êPTBJО«¿ÔÐb€)Óª§/-üMâàr3ôVP—G¨±¹Qµº®æß•˜Wx“EiòKy}/°ü.T§:e¬Âæ/uX3(7è@u´úsÁ1Ï‘cžŽyŽó8æz3yŽ<ó|’|<ó<ì=g<úG>öÆÆ?ô×ð_~pH”§ÂÕÄç6ü/ϯd\zV’mþ6Bù¨¸B÷næðmÔõ4Ç»F Í^ZËÈþ\{T8ø+N]/˜§ºfæ}Ô!!gXíŽGxº8ª¡7¾×°#dTe~UeÌ=7àÍqS!÷#k4 À.~âf;Åbüh@ɾ`òI´!¼ j`!¿Ácò§l1ðŸC@„ñÁdàÅ$U!?qΧBN¨]CÑãX¨ìyÀÐæ%DÜ , J^/þeÞe‚6U÷¢á Ëò?ÆäƒIGlëÀÛj³ &Œ¡j÷³’AKà¾7ô†Üò-‡ÖUŠsfÍÞ£©8 ŠÍØfüò-ñ8Šm9ØÖ{IÛÛóúã(³%Rk‡S•Ë‹+ =ê¦D/”rbÆž²£iØŽ¯bå:¤½ðJÁéẳþCW!7;ò ÎõŠw’nœ·+œ½qÆ\ƒŸ¾w½¯íi£÷‡ÇgïO¶LõÝÉvýÌ«ãùñ:¾j½ù”œö/êûoúõüÙrµNë–ãö”†e+gﶰ×ï>ó7>”bü‡Ãh.?5<ÊL^ßœq69²àëZ(c)>t¤ý0¨½M6FAÝKÒÓèä¹ ÿH볃곢ã£-|;}H…<.Hæ,^#¢ ó$ù(Ï^ŽÖ¿ÇëFhNŠÓÌÌ¢¼Ï{G•{½rôRÁØÎbþÍ#0¡müöÚ[å;½ñ–ÿ2N¢0è˜$¦Tëâãö6ÙØûøn,¨ GåM¥OéÅtþÕ‡oùœ[W sž¢´èØÁ·mȶK]ˆ\<xO(~ºžkÕ¸œŠíÅÀ,ßwm‚ÐûÓÙ{Q=d%@ 72³[e䚀%ÁŒ[Äâù;áï!¦¯í¥šÙsÒWúºV#;°n6Ã)Ù‚#y¡lág“†?é†c¦ÆH12$ =’ §Ç¬öz‘ÕGÍ6ëaqKnüÀlÜ9Ó‰™K7«Ë6N4ag!JR,”‡Í¼gs4១,J¿Â›è7¤¾aÒïôjÏ8Ôì“·±ã·ãÓ“OÆÞù¾~p~¡ï ñå¶ÑdëóaèžhÞÖÑ6´Ý4ßNö_™Š¥«zKkYŠáÚ ³C£®oщwõÞ¶Tí÷k˾è…Z·®ª\,MÃGD•p¡æœ®ÿ j>%gÊ _å?ÈšOÉ™“sÃÝù¿‚,ˆ©0âfÖ êÏ6fJÂ=”no‘Y‰àPñ>’#”ØÎÂ*B+Ì°À/®³÷³ˆz.õҼ2îI1ªÛÓ cÍ0 Mo¶ê e¾-è ;Ä.PNBAËžn%èËKä$”-וùÁ+ñê‰Ôµ}+¸Ö_ŸÂ9íj™Á–©?¬0:ŽÀè(S K5¦þx‹[þ@õÇ@[¸öî~ÁTßÓ½=õ`à¾ûæÐÿ´óz¬;Ùßùp}ëšv½©Z¦¡ôtGIé #â²µöˆ¨¹[Ý=QÄ,§Þž(r–Sg%äÕ×mÎÒd”ú±Êx„Ç?âl¥d˜ªðGO¾¨ú ’?^RÕ¥ZàÑÔ]C5ëm³a6”Ôý•Ñý•í©¨s!C- ð%S+ÁãW‚k-ã§î¯ñpø”kŽØ™¸2}çRU˜¾ã=,nùõmáâ¼=Ø•šjúžv6²?>~:··{ç‡gG§Æ]üÙÐF»aô§i*Ÿ¼`êˇø£+ã{ç4*[¡ˆŸ»•ÞSÆÎršï)ch9õ÷—ÃÐ.ÜŸê¢òbÕ¯Æ>[z) ö˜ÚËl™jK3~½5ö19 ù’ÍÂá/8kIê¹Rø(h²oP]f-—é-Õh>0LÉ{XÜòê-ÚÂUu÷÷¹€?ÝÁž±yiï´§¶îonL®7/îâM½mºmÚД¶câ’CBDÙ2zD„ܨž:–ÓLO %Ë©¢??J–Ð=?Ì¢²IËîÒ0 ó;hÕK³ëJ¶ø Ê£Êó‚P>šŽèwÝr{]¥ˆ_ÆY½ø{Úæèô¤~ùé?9ûìN÷ÎþÁÎÛÁ]ÈwšÑlhu¥Yo*ó •a¾Î]Ä0ué¡ØouÝlëí¶¦Äwí‡ Ê^,ã1¬E„ËwTŠ¯£P÷(Ô¨‘×|wø•_”ix·YÇ)=@Ãó·üžö0aµ«í©g±mlNèñáÈÑãñÁðôêÝÉîOýííNð8ÆÁùÆä}_¡f“6z¦¦¨uCáD‘e”ëÑr·ž‚HYNÛ?AÄ,§óÿ*ˆy,Íÿ€-ªžœ\¾Kë|’³ÝjÔëmÓ4›Š‡/á2%Ê}ïߢ•Sfð‚>jÐ6ì„žlÓ|‹”jÖð Ì».ÓDvϵ¦‰x‹[þ@MÄ@[¸„–ÛÎ.‰…|0Žœú]f‘éêu®4¨]ˆ…”-¢GDÌݺèI¢e9mô$Q³œ>úë f ôcÁ]Í”Òw×E¦.[»mè6Lñ·üˆö°Es¬îi‡’†msox88½v®îâ>Íh[u—jŠëhÊÑ’_¶Lw뜒‚ˆå´ÌAÆrzåÏŒŒÇÒ$`Qwp±z§+óøÑLMkµÛM£a€Ï%´†.kíºË³Ï’òüÇ^XóP›|ƒöhƒö( uæöË\³ý0 Â{XÜòjÚÖÚ1‡ugç“á}õìóîxÿüøjÿÕÍ‹3æ¦ûÝÄÆÝÊäéád9½òô𲜊ù‹àå±´Í÷uNñ,½{ó=|—ºÞ¨›šZ7•TÀ“ÛÉ ¸€NdךƲÕÃ|öiêûêM‘-ü|%~òó¦öi4ìú/¼‡Å- öa -\9K&ê_ï©—öçÍcì÷¯‡çý»8Q5ÛfÝVjPE ¿lÉ<“:îV;OËé›’„åÍŸ!Kh˜äÜiv^ô#ôJ«ÞÀÏa4ÛmÅáPÈQSy`ù=9ö)½¤xòïóúapmùôúÛŽjÚì ÙUYeÊÅ°[ÎÔïaq˨\hZ-úëóüq¡Sýu²wÞ×N±ü›M»ÝÓ4Åj´²#C²Ã(Q¶t7wkš§Š™åÔÎSÅÎr:è/…¢BúÆ׶ÊÆy€vû®Ó/?ŽHx•%U^ªKíáw t£ÞhÖ[ ~p”™È„ õå‘ÐRb²7-^Ò¾…ߺ·ÚÓkdyñ[[vÛÀïâ<@åñ·ü*¶pq.uPóíùžªN·—ÎÎàÒßí¼ìlße5Úu»i´©RohÊŒeËò±r·²{z8YNÍ==¼,§àþ”xYÂ×ú°õЬô.ÔÐØ+µ©~ÌF[7MMm™måÒcŸu’ûôðÀAè»@}nŒ®×ÐGžã…ò`l£4¹¿2P¡ŸXäµçoq¾ZûûJ¼‡Å- &b -\EKÙIÛÓ=õldïh¯NO4ßnÏNN¯®OïâLÛµím¶•†¥)H™¡l=”ZîVEO)Ë颒ˆ˜å”Ñ_1Kh£ ìÜ)í™\¾K5ëÔZ†Önj†®¶”˜Û¸é~RØÃ}&ü¤Üó¢8‘ñ ÉÔ/Ïé[Ô¾…çÔIˆ|dWb”锳¥²ûV¾]ñ·üºˆ¶p-µçy¬íi›S[ù§Æá¥ãœïo¨g’Ÿî|w,$0hS©÷ÚJF ™“¢l)=”rîÖHO5Ë饒‹žå´Ó_=Kè¨òÜ«¬s¢û.uõ6ðã¿ÍV<½fvï‰M5–%²‰ÄüÊ%ü¶Å·¼z¬ÕkäVä–#êSæ1–i+«iÓV¼‡Å- ¶b -\TËøôúëÁžv8²/¶èÛ;Ÿ&{ÃËýkß¿‹CU§é6 ÛTÚž´+*3Z”ªGÄÎÝêêéâf9}õtñ³œÂú‹ág õ’€yîäÞ¼ÿ÷½s¤7ë톩5ö‰%Š‹ìɱ8TvžïÂÐe Ê“©å؇î«R:\ßð}¸(.ÀZl õXøç%º{øÆ-ôÐC”t3Ùì†3¼£êˆ=¬áˆ|ÞŠc%´FSE|¬/¥åO^u†¡YÍ…Wx—ÖØ„ºâiaMD…šâiaM¶>G¾…%ŸÀ³¸B¿Â…m#E\IoC´C€cøŸ«kråßvuÍÿ{g4,^Ñ£©m]Uë¦VzEOAŒ~Ç«kæ@×-b—[jŸº«ŒÄ”?ÞÊ¿$1iMÊ°T•„>dh…”!1 dF:ñMâ¯lK[î¢v,ÿfv/L¡Bþ˜5¼¯‹Áü>¦Ûð+¦ëZSiMoóÄúHk&O˜Ž LÕŒ´j‚-ù}ƒ˜ ]xñ{ÞŸ<:‘Öÿ¡&¤»>LõB²IŸ3ˆG(èQ+ƒ®¯ YXÍä\UH±êq Ä‘wMݪXÕ9i$ý±Š«Š!M¬W¿SBKKZûõWɱ‚0®@œ®™¿ ¥ôEéKõW‰©ˆ.pܬñ’š»¾§ƒ¯iú§ú@=ý|¨Úzk|p¾é\ßô?ŸùŽ·ùÆžn¾w!ßÖOûÇÆaÝÞ9ÆÁ4g8ÁÁB÷Íáä׺´O^_[;¯=(Ÿêí–ödÿhÿrÿÕ‡Ëýó‹K—§‰%Þ¾Þ›îÆ»‹±ýÏN^«îç·¾3½šÕy“Á»’õsÈ÷ÏôöÔú<ò϶®‚Ó“ÃàìóáõÞÎÕèløéÚ}ãÃ\¯Ûxí}ÞŒO?_ÄöÉ’¨w5rŒÃë]oâ˜Q“\»’*Ž{~0ÜÕ÷_½õÏŽ6/ö_í«û’ÛW z&§G}}ÿ|r ïÃß³‹ƒïðõÔÝñÏíOo϶§ÇWúñõÁõ™wz~l¾;9Vv^ŸŸmhGF„ϯ޹ !Þol_Ô÷ö½éæ?Çj76ö.?¨;¦u1üì7·.Ûwg¦ ¶ˆFu¤Lõ¦J#Q£Û‘®Ã¨æƒ˜eÃt%‚˜c,hhºŽŸbÅç´^7e\dÎÝiܬb’ŸÌÎÓ<¶ý±%ïð’ovÓ{äÙv yÝü&L^òÛØsˆ,`‘ß+o{}ï–÷hŒª¦2•_,œ—¨Xüfð9çÈ„¾¸ˆž¤5RñÉRJ†*Q ‚bÙD²ëàghdÜëëûZ=¹ÈÛ(º©zÞ.Èt7ˆÏ„óxP篅¿µð¶\Â[jdbMG!ØwbŽBLQ„QZµ&Àb—`sD QЩÀò›ÝgiÄ«©!¬Ôq¯ÇbŠHŸŒT‹ÀÐÆ¡ƒ¹[ÉUB6½>ÞGô—Çx8ÀËó°ä¹|†Ò?9ÀØ¥2¼ÌQ²çÓ+¼ž\@Kbî¾Z^@2‰…ßñO×Ož¹˜ Í-јìÊ/¨ž9~HWQñ h°œ„p2ÀëºØ`ÐÅDZx²u1Š¼KËÁ-¥÷üiA=@Ê·³Žð﬎2öó¨â;϶R Žg¤*Gàe2™ÔÒ”IÁÎYÄYéÏŠ}‹@A¾ëúÙ…nïÑkä3›?íóľë÷y7½GÇQ\è7_)u‹ì¡|C¿Ù6ý\ïYþ7#x >¶i íD ëyÓè[³‹`éx%#äJÙ(Âêýñs^Ù(i” ]kZˆÝ6ãÿ‚`a’;|”‡ÝN”«@Q =3±„ªKëúãÈ®¬{1‹4ú8nŒñP—¢`Ç}Õ0pñ¸Æ$&(°ˆKÙx‹QA“\Õõú^bÁºû+®:aHn{?¡AÐÁ°h@t•=ßGËcx¿)aûP ðKq`p€ M’AV̬!»ÿjÀ4èƒ|uÀ¢’ ½%Fº_‡¸¹ì¢Ç‹¹î`êh»þ>“‚ùÀPm»SÜbÚò’)A ÇâÁ½žç0§å#¤^–/vÂÚ¼ 0“NN8š2o”Yð1ê”BfùË^ ,2†;3UÉnàÔžÍ8êÙ!ÁsÃaA €÷Œ ¼%1ÆÏéáL æÀ³Jnàù†C<&‡VË%dæû}Ec¯ð ƒýá#EÌ$á~ŠÀß“‚°…á$=Ü’ãc’t)L¨FÌ0Ö· KḻlÎr|Tλ©>OÏä¦nßú½6ǃ•_ùi²á8@¸¤R%•ã ¹kº)k•/ÌÒ(ÔM0ôÚúÒ«W(hu¶=ˆÆW7SkdÎ.ªpH* ñûVMlWævŠ+¬pÞd”˜É¦!À+¤“é†ÁG~!™¤cð³×xš#·²Jž“ŠþÀ>–?+ŒŸ–‘Îã §„ûûÙ83ë0ÞœYýkHgûUýò‚ÄhÌA… V Q²I{°Wú,ÜÔŽc…1¥}7¼Ü”g–n}ßÜgíÑÄb%åF–¨Ãåí«Càô0‚ë,BbÌž¿~%¿~a|fqfø—£I“ÓÑá¡Õ¬«j«!vˆ3H’ ,²DjÌ‚íÍŽ&ÜŽç¬6â™u—pJœ2Ê-̬ÖZ¼&£ˆG`[>I¡-!—H56}ÜðÅKÈ06±©F3ÕÙ°Ô_H÷g—£{ŽA˜=¦’ØR6µ<úÅÑD|ÌÑ;‚ÀœÁÏsÖ@?秃Ãíãýµ2TúÜ)¬z‘ËÅ„„V© Ú¼¯¬”< Û*Jäp»îàƒÏ(“7aÂDÏÊ §ÔéÌz»AáÕ_Dµ”ÎŒ–Š”‘ç@ÉÕ¢0n7¿ˆ&ç½zÍññۋ@-Öš(¦®ÐñP‰ÆCNßl;t§7Ü2X©Öjú€dþãEŠ «“.È‘ô¢ê¤¸Í·( ¢Þ¹T•8¯É7µþ”ªƒªÔ³,‹öf³ûºšQ7užœ‹ƒCuûàó‡Ñç×jòöÕñÆÇíÍ«-ß<”ªjU3ÍR2U%)ÿP-ãÔ— NÙ#ÁëÏþ?s†±k¹Ê
Mola eh?. A ver como sacamos de ahi la informacion respecto al contenido… Todavia no domino bien el Klingon asi que lo dejamos mejor para otro momento.
Pero por otro lado si cargamos la misma pagina con el script (mas bien son una serie de scripts en diferentes tecnologias) que he desarrollado obtenemos lo siguiente:
Including your favorite gadget in a tattoo may be an obvious choice. But what about vintage tech that no one uses anymore? Or tech that’s hot now but may not be in five or 10 years?
In the tattoo photos below, you’ll find everything from floppy disks to Polaroids to cassette tapes. Queue nostalgia…
SEE ALSO: 10 Great Geeky Tattoos
Here are some of our favorite tattoos of old technology. Call them old or outdated, but we prefer to think of these gadgets as classic vintage.
1. GameBoy Color

Image courtesy of FYeahTattoos
2. Cassette Tape

Image courtesy of FYeahTattoos
3. Gramophone

Image courtesy of FYeahTattoos
4. Polaroid

Image courtesy of FYeahTattoos
5. Piano-Typewriter
Image courtesy of FYeahTattoos
6. Floppy Disk

Image courtesy of FYeahTattoos
7. Vinyl Record

Image courtesy of FYeahTattoos
8. TV Box

Image courtesy of FYeahTattoos
9. Typewriter

Image courtesy of FYeahTattoos
10. Compass

Image courtesy of FYeahTattoos
11. Polaroid Camera

Image courtesy of FYeahTattoos
12. Microphone

Image courtesy of FYeahTattoos
13. Minolta Film Camera

Image courtesy of FYeahTattoos
14. Projector Screen

Image courtesy of FYeahTattoos
15. Tin Can Telephone

Image courtesy of FYeahTattoos
All images courtesy of FYeahTattoos
Y esto ya es otra cosa. Y como he comentado anteriormente el script dispone de la suficiente “inteligencia” como para detectar donde esta el contenido real de la pagina y devolver solo lo realmente importante.
Ni tan mal.. ¿eh?