Jelenlegi hely
Egy feladat és egy megoldás I.
p, 2005-07-29 11:57 - kesigomu
Munkahelyemen van egy naponta ismétlődő enyhén szólva is málenkij robot munka, aminek egy részét, vagy az egész folyamatot szerettem volna automatizálni. Szerintem mindenki törekedne arra, hogy egy összességében 1-2 órás munkafolyamatot lerövidítsen, ha másért nem, hát hogy legyen ideje egyet kávézni.
A történet a következő. Minden nap kora reggel egy weboldalról elég nagymennyiségű szkennelt anyagot kell leszedni. Ezek tulajdonképpen média anyagok, országos napilapok , egyéb újságok szkennelt cikkei. Természetesen nem az összes cikket, csupán azokat, amelyek érdeklik, érdekelhetik a cégemet. A szolgáltatást biztosító céget nem nevezném meg, max, ha támogatja a slackware.hu oldalát ;) Ennek a - nevezzük ezután szolgáltatónak - szolgáltatónak a weboldalán egy keresővel szépen le lehet szűkíteni a keresett tartalmakat. Amikor úgy gondolom, hogy a számomra megfelelő adatok elegendőek, a weboldal perl szkriptje létrehoz egy html oldalt, mely a különféle újságok neveit, a cikkek címeit, ezek szkennelt képeire mutató linkeket tartalmazza. Természetesen ez még egy tartalomban történő keresés alapján dobja ki az eredményt. Tehát mindenképpen át kell nézni a kapott anyagot, mert lehetnek benne olyan anyagok, amelyek számomra, illetve a cég számára felesleges. A lényeg, hogy az átnézés során a html-ből kiszórom a nem szükséges linkeket, majd a szükségeseket lementem. Itt kiáltanék fel én is azonnal, hogy akkor mi ebben a kunszt? Vannak linkek, amik képekre mutatnak, wget és hali. Valószínűleg én is ezt tenném, ha ilyen egyszerű volna a mutatvány :) Na szóval a helyzet az, hogy a kiindulási alapot szolgáltató htmlben a linkek egy perl szkript alapján mutatnak fájlokra. Ezen hivatkozások alapján nem lehet megmondani, hogy pontosan hol vannak a fájlok elhelyezve, ráadásul ha egy szimpla letöltést elindítanék egy linkre, akkor egy akarmi.pl?krixkrax lenne az eredménye. Tehát mindenképpen normális fájlnevet illene adni a képfájloknak. A komplett procedúra egyébként nagyon leegyszerűsítve az alábbi folyamatokból állt a manuális feldolgozás során: 1. A forrás html átellenőrzése - szükségtelen linkek kiütése a kódból. 2. A képek egyenkénti lementése és sorszámozott tif re elnevezése 3. A tif képek átkonvertálása egy helytakarékosabb gif formátumba (fekete-fehér szkennelésekről van szó) 4. A forrás html átalakítása a cég belső intranetes hálózatának megfelelő módon. (Egyébként ott is drupal alapokon nyugszik a rendszer) 5. A képek és az átalakított html szerveren történő elhelyezése. A lényeg, hogy mivel ezzel a munkával reggelente határidős és mindemellett rettentően pepecselős, energia pazarló tevékenység, keresnem kellett egy lehetőség szerint egyszerű, a háttérben futtatható megoldást. Számításba vettem a lehetőségeket. Meg lehetne PHP-ban írni, de akkor az kell, hogy legyen az adott gépen. Még több megvalósítási lehetőség is felmerült, de aztán úgy döntöttem, hogy bash szkripttel próbálom megoldani a feladatot. Miért? Egyrészt, mert Linuxot használok, másrészt a bash adott a gépemen, harmadsorban pedig ilyen többfunkciós szkriptet nem készítettem még, ezért kíváncsi voltam meg tudom-e oldani a feladatot. A cikk folytatásaTémakörök:
»
- A hozzászóláshoz regisztráció és belépés szükséges

Friss hozzászólások