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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Взятие информации с чужого сайта

Сообщения:  [1-10]   [11-19] 

 
 автор: cheops   (20.04.2005 в 23:34)   письмо автору
 
   для: sata   (20.04.2005 в 19:34)
 

А вы тех.поддержке эти строчки отсылали - ведь PHP как раз на php.ini ругается, а у вас доступа к нему нет.

   
 
 автор: sata   (20.04.2005 в 19:34)   письмо автору
 
   для: cheops   (20.04.2005 в 18:40)
 

Да всё работает вот тока с этим сайтом гемор при попытке выдрать таблицу с этой страници выдаёт

Notice: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in z:\home\autolegra.ru\www\catalog.php on line 183

Warning: file_get_contents(https://www.iaai-bid.com/branchauctions.aspx?branch=722): failed to open stream: No such file or directory in z:\home\autolegra.ru\www\catalog.php on line 183

С тех поддержкой поговорил сказали что https у них поддерживается в смысле возможна подгрузка но фиг знает мож друг друга непоняли

   
 
 автор: cheops   (20.04.2005 в 18:40)   письмо автору
 
   для: sata   (20.04.2005 в 14:38)
 

А другие файлы с обычных страниц грузятся? Дело в том, что ряд хостингов запрещают загрузку файлов с удалённых машин из PHP-скриптов...

   
 
 автор: sata   (20.04.2005 в 17:47)   письмо автору
 
   для: sata   (20.04.2005 в 14:38)
 

как открыть на чтение файл по https php-функцией fopen() и ей подобным?

   
 
 автор: sata   (20.04.2005 в 14:38)   письмо автору
 
   для: cheops   (20.04.2005 в 12:45)
 

При проверке выводит строку Чёрт, ничего не загрузилось
Страница https://www.iaai-bid.com/branchauctions.aspx?branch=722
не защищена паролем

   
 
 автор: cheops   (20.04.2005 в 12:45)   письмо автору
 
   для: sata   (20.04.2005 в 11:37)
 

Давайте постепенно начнём: поставьте проверку на длину $site
<?php
  
if(strlen($site) == 0) exit("Чёрт, ничего не загрузилось");
?>

Срабатывает она при загрузке с защищённой страницы? Кстати доступ к защищённой странице закрыт паролем или нет?

   
 
 автор: sata   (20.04.2005 в 11:37)   письмо автору
 
   для: sata   (08.04.2005 в 17:45)
 

Назрела тут аналогичная проблема но локально в всё нормально, а вот в инете не работает.
Есть страница https://www.iaai-bid.com/branchauctions.aspx?branch=722Защищёная SSL (поэтому мож и не пашет) на которой есть таблица вот она и не выдирается локально выдрал так

$address="https://www.iaai-bid.com/branchauctions.aspx?branch=722"; 
echo("<base href=".$address.">"); 
$start='id=auctionVehicles'; 
$close="</TABLE>"; 
$site = file_get_contents($address,"r"); 
$start_pos = strpos($site,$start); 
$site = substr($site,$start_pos+strlen($start)); 
$close_pos = strpos($site,$close); 
$site = substr($site,$start,$close_pos+strlen($close)); 
echo "<table ";
 print $site;
echo "</table>";

Да кстати там карттинки есть как их вырезать и на линк лота нажать могут только авторизованные пользователи как авторизоваться без ведома юзера и вытащить информацию данного лота со следующей страницы при условии что эти страницы постоянно обновляются (добавляются новые лоты убираются старые)
Идея примерно такая выдирается страница вставляется к себе ---> пользователь кликает на линк, происходит авторизация на сервере ----->открывается страница с описанием лота. Вот примерная схема
Вот если отвеите хотя бы на что то огромное спасибо.

   
 
 автор: sata   (08.04.2005 в 17:45)   письмо автору
 
   для: cheops   (08.04.2005 в 09:47)
 

Спасибо всем очень помогли

   
 
 автор: cheops   (08.04.2005 в 09:47)   письмо автору
 
   для: sata   (07.04.2005 в 22:44)
 

Теперь следует восстановить таблицу из массивов, примерно следующимо образом
<?php
  
echo "<table>";
  for(
$i 0$i count($out[1]); $i++)
  {
     echo 
"<tr><td>".$out[1][$i]."</td><td>".$out[2][$i]."</td></tr>";
     echo 
"<tr><td colspan=2><a href=".$out[3][$i].">".$out[4][$i]."</a></td></tr>";
     echo 
"<tr><td colspan=2>".$out[5][$i]."</td></tr>";
     echo 
"<tr><td colspan=2>".$out[6][$i]."</td></tr>";
     echo 
"<tr><td colspan=2>".$out[7][$i]."</td></tr>";
  }
  echo 
"</table>";
?>

Страшная строка $pattern, вызывающая оторопь является регулярным выражением (подробнее можно почитать по ссылке в конце поста). Ищет оно соответствие элементу
<font color=green>&nbsp; 2001 MERCEDES BENZ ML320</font><br>
                &nbsp;<strong>Площадка:</strong> SOMERVILLE<br>
                &nbsp;<strong>Лот:</strong> <a href="http://crashescars.com/rus/search/~mode=show1~id=08687293">08687293</a><br>
                &nbsp;<strong>VIN:</strong> 4JGAB54E71A<br>
                &nbsp;<strong>Пробег:</strong> 65208 A<br>
                &nbsp;<strong>Тип повреждения:</strong> пожар в салоне<

При этом части, помещённые в круглые скобки сохраняются в массиве $out, который является двумерным массивом. $out[0] - это массив из кусков HTML соответствующих всему регулярному выражению, $out[1] - соответствует первым круглым скобкам, $out[2] - вторым и т.д. Маневрируя между границами тэгов < и > и сохраняя нужные нам куски при помощи круглых скобок, мы можем получить массивы данных из которых легко построить свою собственную таблицу, со своим собственным дизайном.

http://www.softtime.ru/group/id_group=3

   
 
 автор: Shorr Kan   (08.04.2005 в 04:32)   письмо автору
 
   для: sata   (07.04.2005 в 22:44)
 

Мое предложение такое:


<?set_time_limit(0);
$address="http://crashescars.com/rus/top"
echo(
"<base href=".$address.">");
$start='border="1">'
$close="</table>"
$site file_get_contents($address,"r"); 
$start_pos strpos($site,$start);
$site substr($site,$start_pos+strlen($start)); 
$close_pos strpos($site,$close);
$site substr($site,$start,$close_pos+strlen($close));  
?><table><?print $site;?></table><?


Тут вы и стиль собственной таблички легко переделаете...

   

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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