Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: помагити вы отпарсить выдачу!
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » помагити вы отпарсить выдачу!

Страниц (1): [1]
 

1. hellp123 - 21 Сентября, 2008 - 09:46:34 - перейти к сообщению
есть такая штука
CODE (text):
скопировать код в буфер обмена
  1. /* получаем содержимое нужной нам страницы в переменную $content (обратите внимание, - мы используем для этого функцию file_get_contents. Она может работать с удаленными URL только если в настройках PHP установлена опция allow_url_fopen) */
  2. //$content = file_get_contents("http://news.yandex.ru/");
  3. // Определяем позицию строки, до котой нужно все отрезать (используем функцию strpos()).
  4. //$pos = strpos($content, "популярные новости</h3>");
  5. /*Отрезаем все, что идет до нужной нам позиции (функция substr в данном случае принимает два параметра: строка для обработки и //номер позиции. Функция вернет строку, НАЧИНАЯ с указанной позиции) */
  6. //$content = substr($content, $pos);
  7. // Точно таким же образом находим позицию второй строки
  8. // $pos = strpos($content, "<td class=");
  9. // Отрезаем нужное количество символов от нулевого
  10. // $content = substr($content, 0, $pos);
  11. // выводим полученную строку.

она позваляет в выдаваймом ходе удалить всё до указанной позиции и после...

у меня есть такой код
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. error_reporting(E_ALL); // врубал дя отладки
  3.  
  4. set_time_limit(0); // чтоб успело дограбить всё
  5.  
  6. ignore_user_abort();
  7.  
  8. $fp2 = fsockopen("revix.ru", 80, $errno, $errstr, 60);
  9. $out2 = "POST http://www.revix.ru/ HTTP/1.0\r\n";    
  10. $out2.= "Cookie: \r\n";
  11. $out2.= "Proxy-Connection: close\r\n\r\n";
  12. fputs($fp2,$out2);
  13.  
  14. fputs($fp2,$out2);
  15. while (!feof($fp2)) {
  16.    $content2= fgets($fp2);
  17.    echo $content2;
  18. }
  19.  
  20. fclose($fp2);
  21.  
  22. ?>

в ответ на выполнения получаем....
Цитата:
HTTP/1.1 411 Length Required
Server: nginx/0.5.35
Date: Sun, 21 Sep 2008 06:29:46 GMT
Content-Type: text/html
Content-Length: 181
Connection: close

<html>
<head><title>411 Length Required</title></head>
<body bgcolor="white">
<center><h1>411 Length Required</h1></center>
<hr><center>nginx/0.5.35</center>
</body>
</html>

как отпарсить выдачу чтобы в ответ на выполнения скрипта вводилось то что находится между тегами <center> и </center>
те на запрос после выполнения скрипта мы видели
Цитата:
<center>nginx/0.5.35</center>

а не весь код паги
2. Singularis - 21 Сентября, 2008 - 15:07:43 - перейти к сообщению
if(strpos($content2,"<center>")==4)echo trim(substr($content2,4))

 

Powered by ExBB FM 1.0 RC1