[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скачка кода страницы с js и css
Эли4ка
Подскажите пожалуйста,а как реализовать скачку кода страницы вместе с прилагаемыми стилями,просто скачку страницы сделала,а вот скачку к ней css и js не знаю как..



Спустя 9 минут, 51 секунда (4.12.2011 - 07:55) redreem написал(а):
Если в опере, то Ctrl+S -> HTML-файл с изображениями. Будет создан каталог, куда положатся все картинки, цсски и скрипты.

Спустя 1 минута, 44 секунды (4.12.2011 - 07:57) Эли4ка написал(а):
redreem
не..мне на 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 написал(а):
приемлимее всего регулярками smile.gif
регулярки не подскажу, ибо не особо в них шарю smile.gif
нужны 3 регулярки - на ссылки js,css и img.
прогоняем 3 раза контент по этим регуляркам, а потом тупо скачиваем найденное.
думаю щас от пятницы отойдут местные регулярщики и подскажут. сам с удовольствием "подсмотрю" smile.gif

Спустя 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
<?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
спасибо Вам большое.. cool.gif

Спустя 37 минут, 58 секунд (5.12.2011 - 13:50) killer8080 написал(а):
Эли4ка
Вот ещё вариант. Парсит 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. только учти что их ещё нужно привести к абсолютному виду, перед тем как скармливать курлу user posted image

Спустя 17 минут, 2 секунды (5.12.2011 - 14:07) killer8080 написал(а):
Цитата (Winston @ 5.12.2011 - 09:24)
preg_match("#/([\w._-]+)$#", $url, $fname); // Отделяем имя файл

зачем? Для этого есть штатные средства user posted image
$fname = pathinfo($url, PATHINFO_BASENAME);

Спустя 1 минута, 28 секунд (5.12.2011 - 14:08) Winston написал(а):
Цитата (killer8080 @ 5.12.2011 - 13:07)
Для этого есть штатные средства

Во точно, пытался-пытался с утра вспомнить эту ф-ю, но безуспешно smile.gif

Спустя 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 ??

Это модификаторы wink.gif
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
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.