Oktatás * Programozás 2 * Szkriptnyelvek * levelezősök Félévek Linkek * kalendárium |
Py /
20121126a/r/EarthPornA reddit-en van egy /r/EarthPorn nevű szál (subreddit), ahova a felhasználók szebbnél-szebb tájképeket szoktak feltölteni. Erről a weboldalról töltsük le a nagyfelbontású képeket a saját gépünkre. Ez lehet egy későbbi háttérkép cserélő alkalmazás alapja :) Naiv megközelítésA képek URL-jei ott vannak a HTML forrásban. Vagyis letölthetnénk a HTML forrást, majd abból reguláris kifejezések segítségével ki tudnánk szedni a képek linkjeit. Nem egy elegáns megoldás. Mivel a HTML kódok nagyon gyakran nem szabályosak (hiányzik egy záró-tag, az attribútum nincs idézőjelek között, stb.), ezért nagyon nehéz olyan reg. kifejezést írni, ami minden lehetőséggel számol. Haladó megközelítésAzonban HTML oldalakból adatok kinyerésére nem ajánlják a reguláris kifejezéseket. Ennek oka az, hogy a HTML oldalak többsége nem szabályos HTML. Az attribútumok nem mindegyike van idézőjelek között, hiányoznak a záró tag-ek, stb. Amikor a böngésző letölt egy HTML oldalt, akkor javítja a hibák nagy részét, majd felépít egy DOM struktúrát, majd ezt a DOM struktúrát járja be és jeleníti meg a weboldalt. Vagyis ha HTML oldalakból akarunk adatot kiszedni, akkor használjuk pl. a BeautifulSoup könyvtárat, ami szintén egy DOM hierarchiát épít, s abban kell navigálni. Kevésbé fájdalmas megközelítésMielőtt azonban nekiesnénk egy HTML oldalnak, érdemes megnézni, hogy az adott oldal nem érhető-e el valamilyen más, a gép számára olvashatóbb formátumban. A reddit-en gondoltak erre is, s minden egyes oldal elérhető XML-ben is. Ehhez egyszerűen csak a " Na de XML-t olvasni nem a legkellemesebb mulatság. Ilyenkor kell feltenni a következő kérdést: JSON-ban nem érhető el ugyanez? Fájdalommentes megközelítésÓriási mákunk van, a reddit-en erre is gondoltak: http://www.reddit.com/r/earthporn/.json. Mentsük le ezt a JSON forrást egy fájlba (pl. Lépések:
|
Blogjaim, hobbi projektjeim * The Ubuntu Incident [ edit ] |