парсинг и скачка файла с сортировкой
есть структура xml файла
вот сылка на него http://www.backstagegallery.com/xml/photoGetById.xml?photoId=11567
<photolist> − <list> − <photo> <id>11567</id> <artistName>Marty Stuart</artistName> <artistUrl>MartyStuart</artistUrl> <photographerName>Rick Kohlmeyer</photographerName> <photographerUrl>RickKohlmeyer</photographerUrl> <year>2008</year> − <imageUrlSmall> /photos/RK/4665/Stuart-Marty-pics-RK-4665-101-s.jpg </imageUrlSmall> − <imageUrlMedium> /photos/RK/4665/Marty-Stuart-photos-RK-4665-101-m.jpg </imageUrlMedium> − <imageUrlLarge> /photos/RK/4665/Marty-Stuart-pictures-2008-RK-4665-101-l.jpg </imageUrlLarge> <imageUrlFull>/photos/RK/4665/RK-4665-101.jpg</imageUrlFull> <location venue="Summerfest" city="Milwaukee" state="Wisconsin" country="United States of America">Summerfest (Milwaukee, Wisconsin)</location> </photo> </list> <requestedNum>1</requestedNum> <numResults>1</numResults> <page>0</page> <totalResults>1</totalResults> <totalPages>1</totalPages> </photolist>
интересуют только строки в тэгах artistName и imageUrlFull, нужно перебрать 12 000 таких файлов и скачать большие картинки с сортировкой по авторам, знакомый набросал приблезительный скрипт но он чего то не работает в упор, прощу помочь
define('SITE_ROOT', 'http://www.backstagegallery.com'); define('LOCAL_STORAGE_PATH', '/path/to/storage/'); for ($i = 1; $i < 18340; $i++) { // скачали да загрузили в XML $xmlData = file_get_contents(SITE_ROOT . '/xml/photoGetById.xml?photoId=' . $i); $xml = simplexml_load_string($xmlData); // нашли автора в $artist $result = $xml->xpath('/photolist/list/photo/artistName'); list(, $artist) = each($result); // нашли картинко $result = $xml->xpath('/photolist/list/photo/imageUrlFull'); list(, $imageUri) = each($result); // создали папку (считаем, что на каждого артиста одна папка и одна фотка) $imgPath = LOCAL_STORAGE_PATH . $artist; $cmd = 'mkdir -p ' . $imgPath; имена можешь выдрать оригинальные через $imageUri while (list(, $imageUri) = each($result)) { } // скачать и сохранить // скачали и сохранили картинку под именем 1.jpg $image = file_get_contents(SITE_ROOT . $imageUri); $fp = fopen($imgPath' ./$result.jpg','a+'); fwrite($fp, $image); fclose($fp); }
- 1366 просмотров
Страница для печати
..

Первое что состряпалось. Кладешь скрипт в директорию, где лежат твои xmlные файлы.
После запуска скрипта в директоии появится файлик tmp_file
С ним можно поступить вот так:
Появится new_tmp_file, в котором будет отсортированный список имен и ссылок на файлы.
Если все вышеперечисленное получится пиши, пойдем дальше (-:
Отправить комментарий