Последние записи
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
5th
Ноя
Пример php cкрипта, который загружает картинки с сайта NASA
Posted by Chas under php, Пост-обзор
S-HaCK XORitY
Ну например вот скриптик, который я писал для загрузки всех картинок с сайта NASA (миссия stereo ssc — наблюдение за солнцем), т.к. в последнее время солнце бушует это было актуально. Скачка производится по датам, каждая дата имеет более сотни картинок, потому что спутник делает фото каждые 5-15 мин (зачастую по разному, поэтому нельзя ориентироваться на какое то число), приходится парсить страницу (дату) на ссылки формата jpg и качать, вот скрипт:
<?php
ini_set('max_execution_time', 9999999);
if(isset($_POST['start']) &amp;amp;&amp;amp; isset($_POST['end']))
{
$page_links = array();
$dl_links = array();
$satellite = $_POST['satellite'];
$def_size = $_POST['size']; // high
$size_alternetive = array('128', '256', '512', '1024');
$start = strtotime($_POST['start']);
$end = strtotime($_POST['end']);//date('Y-m-d'));
$date = $start;
while($date <= $end)
{
$page_links[] = 'http://stereo-ssc.nascom.nasa.gov/browse/' . date('Y', $date) . '/' . date('m', $date) . '/' . date('d', $date) . '/[SATELLITE]/euvi/195/[SIZE]/';
$date = strtotime("+1 day", $date);
}
foreach ($page_links as $key => $page)
{
$page = str_replace('[SATELLITE]', $satellite, $page);
$page = str_replace('[SIZE]', $def_size, $page);
$content = file_get_contents($page);
if($content)
{
preg_match_all('/<TD STYLE=\"text-align\:left\">[\r\n]<A HREF=\"(.*?)\">[\r\n](.*?)<\/A><\/TD>/i', $content, $images);
$images = $images[1];
foreach ($images as $image)
{
$dl_links[] = $page . $image;
}
}
}
foreach ($dl_links as $dl_link)
{
$file_name = array_pop(explode('/', $dl_link));
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/stereo-ssc/' . $_POST['satellite'] . '/' . $file_name, file_get_contents($dl_link));
}
}
?>
<form method="post">
<div>Satellite:
<select name="satellite">
<option value="ahead">Ahead</option>
<option value="behind">Behind</option>
</select>
</div>
<div>Size:
<select name="size">
<option value="2048" selected>2048</option>
<option value="1024">1024</option>
<option value="512">512</option>
<option value="256">256</option>
<option value="128">128</option>
</select>
</div>
<div>Start date: <input name="start" value="2007-12-31" /></div>
<div>End date: <input name="end" value="<?php echo date('Y-m-d'); ?>" /></div>
<input type="submit" value="Download" />
</form>
P.S. Писал в спешке, поэтому оптимизировать не стал, но все равно работает быстро — ~150 Гб (более 300000 фоток) за сутки, даже меньше, скачались даты от 31.12.2007 (старт миссии) по текущий день.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)