Как парсить новостийник и его обновления

Тема в разделе "Парсинг конкретных сайтов по запросу (ПЛАТНО)", создана пользователем ergoline, 29 янв 2013.

  1. ergoline

    ergoline New Member Пользователи

    Регистрация:
    15 сен 2011
    Сообщения:
    49
    Адрес:
    UA
    Город:
    Kiev
    Есть желания парсить с нескольких новостийников данные, и загонять это дело сразу в мускул такого интересного двига как дискуз.
    Почему не через рсс?
    по тому что новости обрезанные - анонсами идут (((
    Вопрос как сделать максимально удобно.
    Я понимаю, что я в 1 раз беру новости, на пример с 20 по 40 страницу каждой категории их штук по 8. С этим проблем нет.
    А вот как быть дальше? каждый раз перепроверять появление новостей?
    те проходить по всем заданиям и менять параметры что с 41 страницы? или есть более удобный способ?
     
  2. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    последние 2 года я именно этим и занимаюсь - парсингом новостей.
    но даже я не понял сути вопроса. переформулируйте, дайте источник. очень тяжело представить нечто на основе общих описаний. и почти невозможно на базе этого умозрительно смоделировать нужный вам результат.
     
  3. ergoline

    ergoline New Member Пользователи

    Регистрация:
    15 сен 2011
    Сообщения:
    49
    Адрес:
    UA
    Город:
    Kiev
    наверно я не правильно спросил.
    попробую иначе.
    К примеру, сегодня я спарсил новости по 2-3 категории с 2 новостийных сайтов.
    Получается на каждую категорию нужен проект.
    То есть 1 сайт 3 категории + 2 сайт 3 категории = 6 проектов.
    Завтра появятся новые новости.
    И вот вопрос, получается нужно все время делать обновления по 6 проектам.
    Получается, нужно все время прибавлять к каждому проекту новые границы страниц в ручную?
    в смысле, то что я скачал это по 100 страниц в рубриках. 6*100
    завтра на 1 сайте 100+1, на другом 100+5. а на остальных без изменений (для упрощения)
    Как то автоматизировать что б парсился только этот диапазон 101-100=1 и 105-100=5 можно?
    То есть, что б в следующий раз парсились только новые страницы.
    с мин телодвижениями.
    а то проверять в каждом проекте сколько стр добавилось, и какая была последняя напряжно.
    А может я просто от жизни отстал и решения давно есть?
    Просто пример 1 варианта.
    Спарсил с _blackseanews.net/allnews/crimea/page:16 до _http://www.blackseanews.net/allnews/crimea/page:1, но, на этой :1 будут появляться и свежие новости, которые не скопированы.
    Значит должен быть какой то раздел - что граница пред парсинга - начало нового.
    По тому что в другом случае нужно будет пересматривать появилось что то новое или нет в ручную
     
    Последнее редактирование: 29 янв 2013
  4. Catmo

    Catmo New Member Пользователи

    Регистрация:
    21 окт 2011
    Сообщения:
    2
    Давайте я сформулирую проще: как с помощью CD огранизовать парсинг свежих новостей с сайта, чтобы он не трогал уже имеющиеся?

    Например собрали вчера новости за вчера, сегодня - за сегодня и т.д. как это можно реализовать с минимальными ежедневными вмешательствами в уже существующий проект?
     
  5. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    если я правильно понял ваш вопрос - решение элементарно.
    1. если вы видите, что на сайте каждый день появляется по 5-6 новых страниц новостей (старые при этом "уезжают" назад), обеспечьте парсинг новостей с последних 10 страниц ("с запасом"). так в парсинг гарантированно попадут все новости, появившиеся на сайте.
    2. далее подключаете к проекту файл, в который будут сохраняться спарсенные ссылки. итог - программа не будет по ним ходить второй раз. будут парситься только новые статьи.
    3. третье - ставите планировщик CD в цикличный запуск с интересующим вас временным интервалом. в итоге - полный автомат.

    P.S. настолько просто, что я снова начинаю сомневаться, понял ли вопрос. если это так - дайте четкую ссылку на новостной ресурс.
     
  6. ergoline

    ergoline New Member Пользователи

    Регистрация:
    15 сен 2011
    Сообщения:
    49
    Адрес:
    UA
    Город:
    Kiev
    про п2 не знал. от этого и проблемы - от не знания всех нюансов)
    линки дам. но чуть позже. через неделю вернусь. попробую. и если что - снова сюда же)
     
    Последнее редактирование: 30 янв 2013
  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    А если в БД сразу парсите (через подключенный PHP_SCRIPT), то можно на дубли проверять прямо в скрипте (например, по заголовку новости) делая еще один запрос к базе ;)
     
  8. dobroe utro

    dobroe utro New Member Пользователи

    Регистрация:
    15 янв 2013
    Сообщения:
    13
    Отличная идея!
    Но не понятно как реализовать её.

    Во вкладке ссылки я добавляю урлы
    сайт.ru
    сайт.ru/skip10
    По ним парсятся 20 ссылок на новости
    сайт.ru/news1
    сайт.ru/news2 итд
    Автоматически запускается парсинг контента.
    Ссылки сохраняются в файл

    Но ссылки перезаписываются а не дописываются

    И пока не пойму как сделать чтобы программа работала с этим файлом, а не с окошком добавления ссылок в самой программе, в котором новости будут так или иначе пересекаться
     
    Последнее редактирование: 2 фев 2013
  9. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    вкладка "контент" - раздел "другое". там есть окошечко "потоки", правее - "пауза", а еще правее - "файл с загруженными элементами".
    создайте пустой текстовый файл и сохраните его на диск. потом запускаем программу, переходим к опции "файл с загруженными элементами", и вибираем свой текстовик нажав на кнопку "подключить файл".
    сохраняем проект. с этого момента все спарсенные программой ссылки будут вноситься в текстовый файл, и больше парситься не будут (перед парсингом программа проверяет, имеется ли обрабатываемая ссылка в списке. если да - ссылка пропускается.

    имелся в виду именно этот вариант.

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

Поделиться этой страницей