Спустя 9 минут, 51 секунда (4.12.2011 - 07:55) redreem написал(а):
Если в опере, то Ctrl+S -> HTML-файл с изображениями. Будет создан каталог, куда положатся все картинки, цсски и скрипты.
Спустя 1 минута, 44 секунды (4.12.2011 - 07:57) Эли4ка написал(а):
redreem
не..мне на php надо..
не..мне на php надо..
Спустя 36 минут (4.12.2011 - 08:33) redreem написал(а):
парсить ссылки и скачивать. только все равно 100% нет гарантий. есть ведь и ссылки, формируемые динамически.
Спустя 10 минут, 12 секунд (4.12.2011 - 08:43) Эли4ка написал(а):
redreem
согласна,так вот и вопрос как их парсить..
согласна,так вот и вопрос как их парсить..
Спустя 50 минут, 45 секунд (4.12.2011 - 09:34) redreem написал(а):
приемлимее всего регулярками
регулярки не подскажу, ибо не особо в них шарю
нужны 3 регулярки - на ссылки js,css и img.
прогоняем 3 раза контент по этим регуляркам, а потом тупо скачиваем найденное.
думаю щас от пятницы отойдут местные регулярщики и подскажут. сам с удовольствием "подсмотрю"
регулярки не подскажу, ибо не особо в них шарю
нужны 3 регулярки - на ссылки js,css и img.
прогоняем 3 раза контент по этим регуляркам, а потом тупо скачиваем найденное.
думаю щас от пятницы отойдут местные регулярщики и подскажут. сам с удовольствием "подсмотрю"
Спустя 6 минут, 37 секунд (4.12.2011 - 09:40) redreem написал(а):
мысля тут пришла интересная: если нужно учесть динамически формируемые ссылки, то можно на js сделать. даже проще будет. грузить страницу во фрейм, а там брать src или href у объектов script, link и img и отдавать этот список на скачку php-скрипту.
Спустя 3 часа, 14 минут, 26 секунд (4.12.2011 - 12:55) Эли4ка написал(а):
спасибо..подождем спецов..
Спустя 8 часов, 35 минут, 51 секунда (4.12.2011 - 21:30) Winston написал(а):
Парсим ссылки со страницы, с расширениями js css в элементах link и script и подставляем их в curl и качаем, после этого на компе создадутся файлы с кодом, или же попробовать полученные ссылки подставить в file_get_contents и сделать file_put_contents
Спустя 11 часов, 20 минут, 56 секунд (5.12.2011 - 08:51) Эли4ка написал(а):
Winston
а как далее передать данные для скачки.. :o :huh:
<?php
$url = 'http://www.flickr.com/';
$content = file_get_contents($url);
preg_match_all('#<img.*src="(.+)".*>#isU', $content, $match);?>
а как далее передать данные для скачки.. :o :huh:
Спустя 1 час, 33 минуты, 2 секунды (5.12.2011 - 10:24) Winston написал(а):
Цитата (Эли4ка @ 5.12.2011 - 07:51) |
а как далее передать данные для скачки |
Вот так можно скачать
$url = 'http://www.flickr.com/';
$content = file_get_contents($url);
preg_match_all('#<img.*src="(.*)".*>#isU', $content, $match); // Получаем адреса
// echo '<pre>'.htmlspecialchars(print_r($match, 1)).'</pre>';
foreach($match[1] as $url)
{
preg_match("#/([\w._-]+)$#", $url, $fname); // Отделяем имя файла
$ch = curl_init($url);
$newFile = $_SERVER['DOCUMENT_ROOT'] . '/files/' . $fname[1]; // В какой каталог скачать
$fp = fopen($newFile, 'w');
curl_setopt($ch, CURLOPT_FILE, $fp); // Качаем файл
curl_exec($ch);
// echo '<pre>'.htmlspecialchars(print_r($fname, 1)).'</pre>';
curl_close($ch);
fclose($fp);
}
Спустя 2 часа, 47 минут, 33 секунды (5.12.2011 - 13:12) Эли4ка написал(а):
Winston
спасибо Вам большое..
спасибо Вам большое..
Спустя 37 минут, 58 секунд (5.12.2011 - 13:50) killer8080 написал(а):
Эли4ка
Вот ещё вариант. Парсит img, script и link
В $match[1] будет массив с url. только учти что их ещё нужно привести к абсолютному виду, перед тем как скармливать курлу
Вот ещё вариант. Парсит img, script и link
$text = '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="text" />
<meta name="description" content="text" />
<link rel="shortcut icon" href="/favicon.ico" />
<title>text</title>
<link href="/css/style.css" rel="stylesheet" type="text/css" />
<link href="/css/opera.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/js/JsHttpRequest.js"></script>
<script type="text/javascript" src="/js/main.js"></script>
</head>
<body>
<img src=\'pic.jpg\' />
';
preg_match_all('#<(?:img|script|link).+(?:src|href)=(?:\'|")([^>"\'\s]+)(?:\'|").*>#iuUs', $text, $match);
echo '<pre>'.htmlspecialchars(print_r($match, 1)).'</pre>';
В $match[1] будет массив с url. только учти что их ещё нужно привести к абсолютному виду, перед тем как скармливать курлу
Спустя 17 минут, 2 секунды (5.12.2011 - 14:07) killer8080 написал(а):
Цитата (Winston @ 5.12.2011 - 09:24) |
preg_match("#/([\w._-]+)$#", $url, $fname); // Отделяем имя файл |
зачем? Для этого есть штатные средства
$fname = pathinfo($url, PATHINFO_BASENAME);
Спустя 1 минута, 28 секунд (5.12.2011 - 14:08) Winston написал(а):
Цитата (killer8080 @ 5.12.2011 - 13:07) |
Для этого есть штатные средства |
Во точно, пытался-пытался с утра вспомнить эту ф-ю, но безуспешно
Спустя 17 часов, 39 минут, 42 секунды (6.12.2011 - 07:48) Эли4ка написал(а):
вау сколько хороших решений..спасибо Вам..а я только не пойму -что делает #iuUs ??
Спустя 2 часа, 9 минут, 30 секунд (6.12.2011 - 09:58) killer8080 написал(а):
Цитата (Эли4ка @ 6.12.2011 - 06:48) |
вау сколько хороших решений..спасибо Вам..а я только не пойму -что делает #iuUs ?? |
Это модификаторы
i - регистронезависимый поиск
u - юникод (нужен только если контент в юникоде)
U - выключает жадность
s - нужен чтобы метасимвол точка захватывал так же перевод строки
Спустя 1 день, 16 часов, 22 минуты, 52 секунды (8.12.2011 - 02:20) Эли4ка написал(а):
killer8080
понятно,спасибо..
понятно,спасибо..
Спустя 3 дня, 9 часов, 55 минут, 19 секунд (11.12.2011 - 12:16) asp1k написал(а):
Не забудь что в css есть замечательное правило @import