webdi
Вот такой интересный заголовок.) Есть сайт www.giftube.com, наполненный gif'ками примущественно с порно-содержимым. Мне внезапно стало интересно как их можно оттуда выкачать.
1.
При разборе кода страницы сайта, стало известно, что все свои картинки он хранит на http://videobeta.net/, а именно: все GIF имеют адрес типа http://videobeta.net/gifs/*****.gif . Вместо звёздочек число примерно до 28000. А раз так, то скачать их достаточно просто.
И вот сегодня, просматривая "Социальную сеть", самое начало где Цукерберг ломает базы факультетов, я услышал о программе wget. Итак, к делу.
2.
Как я понял, wget не работает со звёздочками, счётчиками. Т.е. не умеет подставлять символы из некоторого массива или диапазона. Значит нам нужен список адресов для скачивания по типу: "одна строка - один адрес". Но есть, например, в Ubuntu тестовый редактор gedit, у которого в настройках можно включить панель pyton и таким образом построить нужный файл. Вот pyton-код:
str1 = "http://videobeta.net/gifs/"
str2 = ".gif"
i = 1
while i < 201
print (str1 + str(i) + str2)
i = i + 1
Запускаем код в нижней панели редактора, он выводит список файлов. Копируем список в основное окно и сохраняем файл как 1-200.txt .
3.
Создаём подкаталог в своём домашнем каталоге, например с наванием wget-test . Запускаем терминал, переходим в созданный каталог.
На всякий случай команды:
cd <имя_каталога> --- перейти в каталог
mkdir <имя_каталога> --- создать каталог
rmdir <имя_каталога> --- удалить каталог
.. --- надкаталог
. --- текущий каталог
4.
Далее, находясь в терминале в каталоге wget-test, переписываем сюда же свой файл 1-200.txt с URL для скачивания. И запускаем wget следующей командой:
wget -P ./ -i ./1-200.txt
Пошла закачка. Как закончится, в каталоге wget-test будут скачанные файлы, за исключением удалённых, т.е. их будет меньше 200. Далее их можно уже просматривать и отбирать.
Заинтересовался этой темой.
Эмуляция многопоточности в PHP - тема на хабре.
Многопоточность в PHP Curl - curl_multi .
Ещё есть вариант: сделать PHP-сервер и запускать потоки из него. Заодно через AJAX давать информацию по продвижению процесса.
Вот что я нашёл по этой теме.
WebKit - свободный движок для отображения веб-страниц, написан на C++, используется в различных браузерах.
SpiderMonkey - первый в истории движок JavaScript.
phpsh - An interactive shell for php. Какая-то хреновина, так и не разобрался.
phpQuery - jQuery портированный в PHP, тоже надо разбираться.
http://code.google.com/p/v8/ Google открытый JavaScript-движок на C++ .
"Я шел в течении нескольких часов, оставляя невидимое солнце за левым плечом, затем немного передохнул и снова пустился в путь. Мне было приятно смотреть на опавшие листья, камни, пни, зеленеющие деревья, траву, темную землю. Я с наслаждением впитывал в себя маленькие запахи жизни, прислушивался к жужжащим, звенящим и чирикающим звукам вокруг. Боже! Как я восторгался своими глазами! Чувства, которые я испытывал после четырех лет полной тьмы, невозможно было передать словами. А ощущать свободу…"
(c) "Ружья Авалона" Роджер Желязны.
