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.SU

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


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

> Без описания
housewm
Отправлено: 16 Декабря, 2013 - 12:34:10
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2013  


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




Вот пытаюсь сделать граббер небольшой

Суть граббера: есть сайт доска объявлений там постоянно добавляются новые сообщения.

Мне нужно забирать эти новые сообщения и выводить у себя на страничке (как бы лента новостей).

На страничке вывожу с помощью Ajax. В скрипте сделал таймер чтоб он каждые n сек забирал сообщения с помощью php граббера, и добавлял его в список.

Но так как нет ни какой проверки на совпадения он постоянно гонит дубли пока не появится новое сообщение на сайте доноре.

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

Никак не могу понять где проверку делать в php или в j.

И как ее правильно организовать.

Это файл PHP

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.  
  4.  
  5. include 'simple_html_dom.php';
  6. $html = file_get_html('url');
  7.  
  8. $e = $html->find('ul#srchrslt-adtable', 0)->find('li', 0);
  9.  
  10.  
  11.  
  12. foreach ($e->find('h3') as $h3) {
  13.         foreach ($h3->find('a') as $a) {
  14.  
  15.         $t= "<li><div style='width: 600px; padding:20px;border:1px solid #cccccc; margin-bottom:20px'> <a href='url".$a->href."'>".$a->plaintext."</a></div></li>";
  16.                
  17.                  
  18.         }
  19. }
  20.  
  21.  
  22. ?>
  23. <html>
  24.         <body><?echo $t; ?></body>
  25. </html>
  26.  


Это ajax
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <html>
  3.         <head>
  4.                 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"  type="text/javascript"></script>
  5.         </head>
  6.         <body>
  7.  
  8.                 <script type="text/javascript">
  9.  
  10.                 setInterval(function() {
  11.                        
  12.    var value = 0;
  13.                 $.ajax({
  14.                         url: 'php.php',
  15.                         cache: false,
  16.                         success: function(data) {
  17.                         $('.result').append('<li>'+data+'</li>');
  18.                        
  19.                         }
  20. });
  21.  
  22. }, 5000);
  23.  
  24. </script>
  25. <ul class="result"></ul>
  26.         </body>
  27. </html>
  28.  
 
 Top
Toxa
Отправлено: 16 Декабря, 2013 - 13:16:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


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

[+]


- Создать таблицу в БД под нужные данные
- Парсить сайт по таймауту (cron) с проверкой уже добавленных значений
- Выводить у себя в каком-угодно виде с помощью ajax или без


-----
Удобный сервис для хранения файлов
 
 Top
housewm
Отправлено: 16 Декабря, 2013 - 13:29:18
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2013  


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




а можно ли какнибудь обойтись без БД?
 
 Top
Toxa
Отправлено: 16 Декабря, 2013 - 14:07:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


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

[+]


Можно хранить в сессии массив всех записей и проверять их наличие соответственно, чтобы избежать дубликатов. Но этот вариант очень кривой и обычно так не делают


-----
Удобный сервис для хранения файлов
 
 Top
housewm
Отправлено: 16 Декабря, 2013 - 14:21:14
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Дек. 2013  


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




спасибо, буду через БД тогда делать
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB