Интересно Парсер картинок на php

E

_Emma_

Original poster
0ecf1887-d07c-4d1e-ae86-39f43c39e10b.png

Использоваться скрипт будем следущим способом: php parser.php ссылка директория.

Вначале обрабатываем аргументы,всего их 3

1 - ввод имени файла

2 - для ссылки

3 - директория для картинок ( является необязательной )



Меняем конец ссылки на .json для работы с API,а также создаём массив для этих ссылок
$imageLinks = [];

$request = preg_split('~(html)$~', $url, null, PREG_SPLIT_NO_EMPTY);
$result = json_decode(file_get_contents($request[0] . 'json'), true);


Документация находится на сайте php.net также доступна на русском языке
Записываем в массив все ссылки на картинке
$threads = $result['threads'][0];
foreach ($threads as $thread) {
foreach ($thread as $posts) {
foreach ($posts as $key => $value) {
if ($key == 'files') {
foreach ($value as $path) {
$imageLinks[] = '

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

' . $path['path'];
}
}
}
}
}


Создаём функуцию сохранения картинок.
Она принимает массив ссылок и директорию вывода.
function saveImages($imageLinks, $imagesDirectory) {
$extensionPattern = '~(https:\/\/2ch.hk\/[a-z]+\/[a-z]+\/[0-9]+\/[0-9]+)~';
$imageNamePattern = '~(

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


foreach ($imageLinks as $imageLink) {
$imageName = preg_split($imageNamePattern, $imageLink, null, PREG_SPLIT_NO_EMPTY);
$extension = preg_split($extensionPattern, $imageLink, null, PREG_SPLIT_NO_EMPTY);
$imageName = $imageName[0];
$extension = $extension[0];
if ($extension == '.webm' || $extension == '.mp4' || $extension == '.gif') {
print_r($imageName . " will not be saved!\n");
continue;
} else {
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . $imagesDirectory . DIRECTORY_SEPARATOR . $imageName, file_get_contents($imageLink));
print_r($imageName . " was saved successfully\n");
}
}
}


Объявляем 2 регулярных выражения которые отвечают за расширение картинки а также имени.
if (file_exists($imagesDirectory)) {
saveImages($imageLinks, $imagesDirectory);
print_r("\nJob Done!\n");
} else {
mkdir($imagesDirectory);
saveImages($imageLinks, $imagesDirectory);
print_r("\nJob Done!\n");
}


Весь код
<?php

if (isset($argv[1])) {
$url = $argv[1];
} else {
print_r("Usage: php {$argv[0]} url output_directory(optional)\n");
exit("\n\tExit with status: wrong script usage");
}

if (isset($argv[2])) {
$imagesDirectory = $argv[2];
} else {
$imagesDirectory = 'images';
}

$imageLinks = [];

$request = preg_split('~(html)$~', $url, null, PREG_SPLIT_NO_EMPTY);
$result = json_decode(file_get_contents($request[0] . 'json'), true);

$threads = $result['threads'][0];
foreach ($threads as $thread) {
foreach ($thread as $posts) {
foreach ($posts as $key => $value) {
if ($key == 'files') {
foreach ($value as $path) {
$imageLinks[] = '

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

' . $path['path'];
}
}
}
}
}

function saveImages($imageLinks, $imagesDirectory) {
$extensionPattern = '~(https:\/\/2ch.hk\/[a-z]+\/[a-z]+\/[0-9]+\/[0-9]+)~';
$imageNamePattern = '~(

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


foreach ($imageLinks as $imageLink) {
$imageName = preg_split($imageNamePattern, $imageLink, null, PREG_SPLIT_NO_EMPTY);
$extension = preg_split($extensionPattern, $imageLink, null, PREG_SPLIT_NO_EMPTY);
$imageName = $imageName[0];
$extension = $extension[0];
if ($extension == '.webm' || $extension == '.mp4' || $extension == '.gif') {
print_r($imageName . " will not be saved!\n");
continue;
} else {
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . $imagesDirectory . DIRECTORY_SEPARATOR . $imageName, file_get_contents($imageLink));
print_r($imageName . " was saved successfully\n");
}
}
}

if (file_exists($imagesDirectory)) {
saveImages($imageLinks, $imagesDirectory);
print_r("\nJob Done!\n");
} else {
mkdir($imagesDirectory);
saveImages($imageLinks, $imagesDirectory);
print_r("\nJob Done!\n");
}
 
  • Like
Реакции: CMDfromBAT
Название темы
Автор Заголовок Раздел Ответы Дата
C Парсер картинок с Яндекса и Google Софт для работы с текстом/Другой софт 2
Y Ожидает оплаты YTparser - Парсер ютуба в телеграмме | Почты | ВКонтакте | Ссылки на каналы | И многое другое Продажа софта 0
websprojekt Ожидает оплаты Telegram Bot | Инвайтер | Cпамер | Парсер Телеграм Все что не подошло по разделу 1
semsvm Интересно Парсер e-mail по списку сайтов Другое 1
B Проверено [SELL] Инструменты для добычи уязвимых дедиков :: RDP/Shodan.io Парсер/Сканер уязвимостей Продажа софта 2
B Парсер Dropmefiles.com + функция подбора пароля Продажа софта 1
N TeleGrand - софт для продвижения в Telegram / Рассылка / Парсер / Инвайт Продажа софта 1
JohnWoo Парсер 2GIS 6.0.1.5 (Полностью актуальная версия) Продажа софта 0
I Facebook комбайн. Парсер Facebook. 5 лет на рынке ПО. Бруты/Парсеры/Чекеры 1
E Интересно TeleGram-Scraper: Парсер/Инвайтер/Спаммер Бруты/Парсеры/Чекеры 5
АнАлЬнАя ЧуПаКаБрА Private Keeper [B/C] sportmaster.ua + Парсер баз number:password Проекты Private Keeper 4
S Парсер скриншотов с prnt.sc Раздача email 0
АнАлЬнАя ЧуПаКаБрА [Private Keeper] Igrun брут & чекер by WSN | Парсер баз number:password Проекты Private Keeper 0
A [Парсер пользователей BHF.IO] Другие ЯП 4
G Парсер и чеккер телеграм контактов Бруты/Парсеры/Чекеры 0
G Парсер и чеккер телеграм контактов Бруты/Парсеры/Чекеры 12
АнАлЬнАя ЧуПаКаБрА Парсер телефонов/логинов скайпа с групп в ВК Бруты/Парсеры/Чекеры 0
NickelBlack Datacol v5.5 RUS Сrack Portable Парсер Бруты/Парсеры/Чекеры 1
turbion0 Мошенник под видом начальника обманул петрозаводчанку почти на миллион рублей Новости в сети 0
Support81 Экс-сотрудник ФСБ на службе у хакеров: 9 лет тюрьмы за крышевание преступников Новости в сети 0
Emilio_Gaviriya Статья Внедрение DNS-over-HTTPS на уровне операционной системы в KDE neon и Ubuntu. Анонимность и приватность 0
Support81 LockBit или DragonForce? Кибератака на Палау привела IT-специалистов в замешательство Новости в сети 0
hackway Куплю Автоматическая Скупка Аккаунтов ВКонтакте | Самые выгодные предложения на рынке! Куплю/Продам 0
El_IRBIS Интересно Проверка маршрутизатора на наличие вредоносных программ: полное руководство Вирусология 0
Support81 Криптовалютная империя на крови: KuCoin обвиняется в отмывании $9 млрд. Новости в сети 1
Tera_shop Продам Telegram аккаунты для рассылки, инвайта (Session + Json, Tdata) Tear-shop.ru Купить аккаунты на сайте: https://tear-shop.ru/ Tear-shop - Магазин Аккаунты/Админки/Документы 1
obscure Интересно YouTube канал на кардер\хаккинг\скам\кодер тематику Видео/Музыка 0
Support81 Был героем – стал злодеем: почему уставшие ИБ-специалисты встают на путь криминала Новости в сети 0
F Ручное размещение тем на разных форумах и продажа базы. Ищу работу. Предлагаю свои услуги. 2
Support81 Loop DoS: бесконечные циклы на службе киберпреступников Новости в сети 0
M Работа на выгодных условиях без особого труда. Предоставляю работу. Ищу специалиста. 0
Support81 ФБР: технологии могут повлиять на американские выборы в 2024 году Новости в сети 1
Emilio_Gaviriya Статья Поиск уязвимостей на хосте. Уязвимости и взлом 1
Support81 Американские власти наложили санкции на разработчиков спайвари Predator Новости в сети 0
Support81 Фишинг-кит CryptoChameleon ориентирован на пользователей мобильных устройств Новости в сети 0
srv24 Продам SRV24 - выделенные серверы в 193 странах мира от 15$! Скидки при оплате на 1 год! Заходи! Сайты/Хостинг/Сервера 1
Support81 Xeno RAT опубликован на GitHub: продвинутый кибершпионаж теперь доступен каждому Новости в сети 0
Support81 Более 100 тысяч зараженных репозиториев на GitHub маскируются под легитимные проекты Новости в сети 0
Emilio_Gaviriya Статья Как ловить хакеров на живца. Уязвимости и взлом 0
Support81 Картинки PNG - новый способ доставки троянов на компьютеры организаций Новости в сети 1
Support81 Темный рыцарь на продажу: в чьих руках окажется исходный код вымогателя Knight 3.0? Новости в сети 0
Emilio_Gaviriya Статья Безопасность на серверах. Уязвимости и взлом 0
Support81 Google разоблачила сеть компаний-шпионов, работающих на правительства Новости в сети 1
turbion0 Министерство юстиции США раскрыло схему мошенничества с криптовалютой на 1,89 млрд долларов. Новости в сети 0
turbion0 В Пензе мошенница получила от государства миллион рублей на несуществующих детей Новости в сети 0
turbion0 Мошенники оформили на малоимущих астраханцев 30 млн рублей кредитов Новости в сети 0
Support81 Взлом или небрежность? Код и пароли Binance были доступны на GitHub в течение нескольких месяцев Новости в сети 0
Emilio_Gaviriya Статья Защита конфиденциальности: Как сбросить данные на Android в экстренных ситуациях. Полезные статьи 0
Support81 Просчитались, но где? Заказ на убийство в зашифрованном чате обернулся для бандитов тюрьмой Новости в сети 0
0 Лутаем Кэш на рефаунде Сбермаркета Способы заработка 0

Название темы