За последние 24 часа нас посетил 18401 программист и 1605 роботов. Сейчас ищут 953 программиста ...

Двойной парсинг сайта

Тема в разделе "Прочие вопросы по PHP", создана пользователем vibox, 24 дек 2013.

  1. vibox

    vibox Новичок

    С нами с:
    24 дек 2013
    Сообщения:
    6
    Симпатии:
    0
    Как можно реализовать парсинг сайта я знаю.
    Но можно ли вытянуть вот с этой страницы (ссылка дана ниже) сайта и вопросы и ответы к себе на сайт?
    Ссылка: http://www.9111.ru/answers/daily/2013_12_24/
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    противоречия не замечаете? =) если знаете, то в чем вопрос?
     
  3. vibox

    vibox Новичок

    С нами с:
    24 дек 2013
    Сообщения:
    6
    Симпатии:
    0
    Имел ввиду, что несколько разбираюсь в этом. Но именно эту задачу решить не могу =)
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    какую эту? ссылки нужные с этой страницы выделить, и спарсить то что по этим ссылкам лежит?
     
  5. vibox

    vibox Новичок

    С нами с:
    24 дек 2013
    Сообщения:
    6
    Симпатии:
    0
    да) А именно ссылки ответить)
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    А вообще любые ссылки вы можете вычленить из спарсеного?
     
  7. vibox

    vibox Новичок

    С нами с:
    24 дек 2013
    Сообщения:
    6
    Симпатии:
    0
    Не понятен вопрос)
    Я не мастер этого дела, просто имею кое-какие навыки)
    Нужно, чтобы на моем сайте была возможность видеть и вопросы и ответы на эти вопросы с указанного сайта.
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Понимание уровня собственной квалификации у автора тает от поста к посту.
     
  9. vibox

    vibox Новичок

    С нами с:
    24 дек 2013
    Сообщения:
    6
    Симпатии:
    0
    Да, вы правы, понимаю, что очень многого не понимаю.
    Да и если бы был мастеров в этом деле, то не стал бы вас беспокоить.
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Мастера мастерами, а готового кода вам тут вряд ли дадут. Если вы сами ничего не можете, то это значит кто-то должен сделать за вас всю работу. Кто этот добрый человек, который за это возьмется - я не знаю.
     
  11. vibox

    vibox Новичок

    С нами с:
    24 дек 2013
    Сообщения:
    6
    Симпатии:
    0
    Я попробовал проработать ситуацию таким образом:
    Код (PHP):
    1. <?php
    2.  
    3. //откуда будем парсить информацию
    4. $content = iconv("windows-1251", "UTF-8", file_get_contents('http://www.9111.ru/questions/q3121782-ipotechniy-kredit.html'));
    5.  
    6. // Определяем позицию строки, до которой нужно все отрезать
    7. $pos = strpos($content, '<div id="qcontent" class="question-content__small">');
    8.  
    9. //Отрезаем все, что идет до нужной нам позиции
    10. $content = substr($content, $pos);
    11.  
    12. // Точно таким же образом находим позицию конечной строки
    13. $pos = strpos($content, '<br></div>');
    14.  
    15. // Отрезаем нужное количество символов от нулевого
    16. $content = substr($content, 0, $pos);
    17.  
    18. //если в тексте встречается текст, который нам не нужен, вырезаем его
    19. $content = str_replace('','', $content);
    20.  
    21. // выводим спарсенный текст.
    22. echo ($content);
    23.  
    24. //echo "вставляем сюда завершающий код";[/color]
    25.  
    26.  
    27. [color=#4000FF]//откуда будем парсить информацию
    28. $content = iconv("windows-1251", "UTF-8", file_get_contents('http://www.9111.ru/questions/q3121782-ipotechniy-kredit.html'));
    29.  
    30. // Определяем позицию строки, до которой нужно все отрезать
    31. $pos = strpos($content, '<p class="answer__text">');
    32.  
    33. //Отрезаем все, что идет до нужной нам позиции
    34. $content = substr($content, $pos);
    35.  
    36. // Точно таким же образом находим позицию конечной строки
    37. $pos = strpos($content, '</p>');
    38.  
    39. // Отрезаем нужное количество символов от нулевого
    40. $content = substr($content, 0, $pos);
    41.  
    42. //если в тексте встречается текст, который нам не нужен, вырезаем его
    43. $content = str_replace('','', $content);
    44.  
    45. // выводим спарсенный текст.
    46. echo ($content);
    47.  
    48. //echo "вставляем сюда завершающий код";
    49. ?>
    Добавлено спустя 3 минуты 37 секунд:
    Где красным - вопрос, синим - ответ. Все отображается, конечно, на моем сайте. Но как мне автоматизировать обновление этого самого контента?
    Как-то уникализировать ссылки? Качать блоком?
    Ссылка на тот самый сайт: http://www.9111.ru/answers/daily/2013_12_24/
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну обычно кладут в БД, и оттуда выводят.
     
  13. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Жесть! Ну да ладно.
    Сделать кнопку обновить, чтобы не слать постоянно запросы.