Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как-то можно автоматизировать скачивание и переименование средствами php и javascript ?
 
 автор: kpripper   (04.12.2011 в 15:21)   письмо автору
26.8 Кб
 
 



На буржуйском сайте до нового года открыли бесплатный доступ к разным журналам. Но вручную это перекачать даже нескольким людям очень тяжело. Названия статей указаны оранжевым цветом, а сами статьи ниже в пдф формате, но проблема в том, что все они называются фуллтекст.пдф
Как-то можно автоматизировать скачивание и переименование средствами php и javascript ?

  Ответить  
 
 автор: cheops   (04.12.2011 в 15:28)   письмо автору
 
   для: kpripper   (04.12.2011 в 15:21)
 

Можно, для того нужно получить содержимое HTML-страницы, разобрать её, например, средствами регулярных выражений... и скачать файлы... возможно даже стоит предварительно поместить названия и ссылки в отдельный файл или базу данных, а уже другим скриптом обращаясь к этой базе производить скачивание.

  Ответить  
 
 автор: kpripper   (04.12.2011 в 17:27)   письмо автору
 
   для: cheops   (04.12.2011 в 15:28)
 

по цвету и шрифту еще понятно как выбрать название, а какой для них общий шаблон придумать - не знаю. вот например страница http://www.springerlink.com/content/0941-1291/41/12/ - какой здесь может быть шаблон для всех названий статей ?

  Ответить  
 
 автор: Sfinks   (04.12.2011 в 18:36)   письмо автору
 
   для: kpripper   (04.12.2011 в 17:27)
 

Например вот так:
<pre><?php
  $s 
file_get_contents("http://www.springerlink.com/content/0941-1291/41/12/");
  
$pattern "#<p class=\"title\"><a[^>]+>(.*)</a>#Usi";
  
preg_match_all($pattern,$s,$out);
  
print_r($out[1]);  
?></pre>

  Ответить  
 
 автор: kpripper   (05.12.2011 в 00:53)   письмо автору
 
   для: Sfinks   (04.12.2011 в 18:36)
 

Спасибо, это я не дочитал о регулряных выражениях, только потом дошло что они с исходным кодом страницы работают ))

  Ответить  
 
 автор: kpripper   (05.12.2011 в 21:29)   письмо автору
 
   для: kpripper   (05.12.2011 в 00:53)
 

Файлы скачал, добавил их названия в массив, создал другой массив из настоящих названий с помощью регулярных выражений, заменил значения в массиве 1 на значения из массива 2, все заменилось. Но файлы то не переименовались. Выходит нужно в массив 1 добавить сами файлы а не их названия, или как их все таки переименовать ?

  Ответить  
 
 автор: Sfinks   (05.12.2011 в 23:13)   письмо автору
 
   для: kpripper   (05.12.2011 в 21:29)
 

Вы бы лучше не на пальцах объясняли, а показали фрагмент неправильно работающего кода, описали что предполагаете от него получить и что на самом деле получаете. А то так вообще ничего не понятно - как получаете ссылку, как скачиваете, как сохраняете.... Все ж можно разными способами сделать.

  Ответить  
 
 автор: kpripper   (08.12.2011 в 20:33)   письмо автору
 
   для: Sfinks   (05.12.2011 в 23:13)
 

Вот весь мой код

<pre>
<?php
  $s 
file_get_contents("http://www.springerlink.com/content/0941-1291/41/12/");
  
$pattern "#<p class=\"title\"><a[^>]+>(.*)</a>#Usi";
  
preg_match_all($pattern,$s,$out);
  
print_r($out[1]); 
?>
</pre>

<?php
$dir 
"d:/Медицина/Surgery Today/2011/Volume 41, Number 12  December 2011/"
$dh opendir($dir); 
while (
false !== ($filename readdir($dh))) 

    if (
$filename != "." && $filename != "..") {
         
$files[] = $filename
    }

?>

<pre>
<?php
sort
($files); 
print_r($files); 
$files=$out[1]; 
print_r($files); 
?>
</pre>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования