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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PHP Парсер. Как скопированы данные отображать по ссылкам на отдельных страницах?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Roma1
Отправлено: 10 Июня, 2017 - 17:06:23
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Я сделал парсер который копирует заголовки с каждой публикации на главной странице сайта. Также парсер копирует ссылки на каждую публикацию, это для того чтобы в дальнейшем парсить содержание публикаций, ну и конечно содержание публикаций парсер тоже парсить.

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

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

Код парсера:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-type: text/html; charset=utf-8');
  3. require 'phpQuery.php';
  4.  
  5. function parseArticle($url){
  6.     $file = file_get_contents($url);
  7.     $doc = phpQuery::newDocument($file);
  8.     $text = $doc->find('.post-body')->html(); //парсинг содержания публикаций (по ссылками)
  9.     print_arr($text);
  10. }
  11.  
  12.  
  13. function print_arr($arr){
  14.   echo '<pre>' . print_r($arr, true) . '</pre>';
  15. }
  16.  
  17. $url = 'http://goruzont.blogspot.com/';
  18. $file = file_get_contents($url);
  19.  
  20. $doc = phpQuery::newDocument($file);
  21.  
  22. foreach($doc->find('.blog-posts .post-outer .post') as $article){
  23.     $article = pq($article);
  24.     $text = $article->find('.entry-title a')->html(); //парсинг заголовков
  25.     print_arr($text);
  26.     $texturl = $article->find('.entry-title a')->attr('href'); //парсинг ссылок
  27.     parseArticle($texturl);
  28.    
  29.  
  30. }
  31. ?>
 
 Top
Vladimir Kheifets
Отправлено: 12 Июня, 2017 - 13:18:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




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


Попробуйте передавать данные через сессию.
Примерно так:


PHP:
скопировать код в буфер обмена
  1.  
  2.   <?PHP
  3.     session_start();    
  4.     header('Content-type: text/html; charset=utf-8');
  5.     require 'phpQuery.php';
  6.      
  7.     function parseArticle($url){
  8.         $file = file_get_contents($url);
  9.         $doc = phpQuery::newDocument($file);
  10.         $text = $doc->find('.post-body')->html(); //парсинг содержания публикаций (по ссылками)
  11.         print_arr($text);
  12.     }
  13.      
  14.      
  15.     function print_arr($arr){
  16.       echo '<pre>' . print_r($arr, true) . '</pre>';
  17.     }
  18.      
  19.     $url = 'http://goruzont.blogspot.com/';
  20.     $file = file_get_contents($url);
  21.      
  22.     $doc = phpQuery::newDocument($file);
  23.      
  24.     $_SESSION["buf"]=array();    
  25.     $iLink=1;
  26.     foreach($doc->find('.blog-posts .post-outer .post') as $article){
  27.         $article = pq($article);
  28.         $text = $article->find('.entry-title a')->html(); //парсинг заголовков
  29.         print_arr($text);
  30.         $texturl = $article->find('.entry-title a')->attr('href'); //парсинг ссылок
  31.         parseArticle($texturl);
  32.        
  33.        $buf[$iLink]=array($article,$text);
  34.        ?>
  35.        <a href="<?=$texturl."?iLink=$iLink";?>"><?=$text?></a>
  36.        <?
  37.        $iLink++;
  38.     }
  39.     $_SESSION["buf"]=$buf;
  40.     ?>
  41.  
  42.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программное обеспечение »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB