Парсинг и размещение статей. Прошу помощи.

mkt

Новичок
Регистрация
03.05.2016
Сообщения
17
Благодарностей
0
Баллы
1
Здравствуйте, друзья. Прошу подсказать или помочь с таким вопросом. Нужно брать статьи с двух (или хотя бы с одного) сайта, регулярно. Можно сделать так чтобы zennoposter регулярно мониторил нужный сайт на наличие новых статей и публиковал на моем сайте? Может есть готовые решения, или как реализовать именно ту фишку, чтобы он брал именно новые статьи (и не брал случайно уже спарсенные ранее статьи). Заранее благодарю за помощь!
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
503
Баллы
113
Можно. На зенно делается элементарно.
 

mkt

Новичок
Регистрация
03.05.2016
Сообщения
17
Благодарностей
0
Баллы
1
А можно как то подробнее? Я понимаю что элементарно. Может поделишься ссылкой на решение. Я в этом деле пока шибко не разбираюсь.
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 414
Благодарностей
1 481
Баллы
113
Ну кто знает что за сайт, какая кмска там стоит, какой у вас сайт. Есть куча мелочей...
 

mkt

Новичок
Регистрация
03.05.2016
Сообщения
17
Благодарностей
0
Баллы
1
Ну кто знает что за сайт, какая кмска там стоит, какой у вас сайт. Есть куча мелочей...
Возможно меня не правильно поняли, я не прошу сделать за меня шаблон. Я прошу дать подсказку или ссылку на материал, где рассказывается процесс парсинга новых статей, чтобы они не повторялись. Парсинг и Постинг на свой сайт я уже делал неоднократно, но не знаю как сделать так, чтобы зено сам отслеживал новые статьи на нужном сайте, которые он еще не парсил. Мне без разницы какой сайт будет для примера, самое главное чтобы было показано как это делается...
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 648
Баллы
113
Возможно меня не правильно поняли, я не прошу сделать за меня шаблон. Я прошу дать подсказку или ссылку на материал, где рассказывается процесс парсинга новых статей, чтобы они не повторялись. Парсинг и Постинг на свой сайт я уже делал неоднократно, но не знаю как сделать так, чтобы зено сам отслеживал новые статьи на нужном сайте, которые он еще не парсил. Мне без разницы какой сайт будет для примера, самое главное чтобы было показано как это делается...
можешь отталкиваться от даты постинга, если там такая есть. Заходишь на первую статью, парсишь дату. Если эта дата больше той, которую ты сохранил в прошлый раз в файл - парсишь статью. Эту дату куда-то отдельно сохраняешь. Теперь на вторую статью, смотришь дату. Больше - сохраняешь статью, но дату уже не сохраняешь. Как только встретишь статью, у которой дата публикации меньше сохранённой = пересохраняешь в файл дату из первой статьи, записанную ранее в переменную, вместо изначальной даты.

Можно по заголовкам, принцип такой же. У тебя есть заголовок статьи, сохранённый в файле. Ты парсишь заголовок первой статьи. Сравниваешь с сохранённым. Если разые - парсишь статью. И так до тех пор, пока не дойдёшь до заголовка одинакового. Дошёл - 1й заголовок в файл, парсинг прекращается.

А еще лучше в таком подходе, наверно сохранять все заголовки, делать что-то вроде черного списка. Берешь заголовок, проверяешь, есть ли в чёрном списке - если нет - парсишь статью, заголовок добавляешь в чёрный список. Как только встретил заголовок в чёрном списке - прекращаешь парсинг. Так будет проще реализовать.
 
  • Спасибо
Реакции: mkt

Chick80

Client
Регистрация
04.12.2014
Сообщения
307
Благодарностей
83
Баллы
28
1. находишь и скачиваешь карту сайта через robots.txt
2. парсишь все статьи, которые в ней есть
3. ждешь сутки
4. повторяешь п.1
5. находишь то, что добавилось за сутки, тыришь.
6. бухаешь, ибо отныне зенка пункты 1-5 будет делать за тебя (планировщик рулит)
 
  • Спасибо
Реакции: mkt

mkt

Новичок
Регистрация
03.05.2016
Сообщения
17
Благодарностей
0
Баллы
1
А еще лучше в таком подходе, наверно сохранять все заголовки, делать что-то вроде черного списка. Берешь заголовок, проверяешь, есть ли в чёрном списке - если нет - парсишь статью, заголовок добавляешь в чёрный список. Как только встретил заголовок в чёрном списке - прекращаешь парсинг. Так будет проще реализовать.
Подскажи как сделать поиск названия статьи в списке?
Что я сделал уже:
1) Парсит статьи и название каждой статьи записывается в список.
2) добавляются статьи на мой сайт

Осталось сделать только проверку на новые статьи...
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 648
Баллы
113
Подскажи как сделать поиск названия статьи в списке?
Что я сделал уже:
1) Парсит статьи и название каждой статьи записывается в список.
2) добавляются статьи на мой сайт

Осталось сделать только проверку на новые статьи...
простым перебором. В цикле перебираешь весь список и сравниваешь название текущей строки со взятой строкой. Если нашёл - идёшь по одному пути, если не нашёл - по другому
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 916
Благодарностей
9 323
Баллы
113
простым перебором. В цикле перебираешь весь список и сравниваешь название текущей строки со взятой строкой. Если нашёл - идёшь по одному пути, если не нашёл - по другому
можно без перебора..
название статьи с помощью Обработка текста - Escape строки записать в переменную,
список запостенных статей объединяем в переменную и с помощью Обработка текста - Regex парсим заэскейпленную переменную,
с помощью IF!="" определяем пуст результат парсинга или нет, если что то нашлось, то значит статья уже есть, берем другую,
если не нашлось, то статья новая - постим на сайт..

PS: так подробно, для mkt
 
  • Спасибо
Реакции: mkt и doc

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 916
Благодарностей
9 323
Баллы
113
Подскажи как сделать поиск названия статьи в списке?
Что я сделал уже:
1) Парсит статьи и название каждой статьи записывается в список.
2) добавляются статьи на мой сайт

Осталось сделать только проверку на новые статьи...
http://zennolab.com/discussion/threads/parsing-i-razmeschenie-statej-proshu-pomoschi.34011/#post-252832
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 648
Баллы
113
можно без перебора..
название статьи с помощью Обработка текста - Escape строки записать в переменную,
список запостенных статей объединяем в переменную и с помощью Обработка текста - Regex парсим заэскейпленную переменную,
с помощью IF!="" определяем пуст результат парсинга или нет, если что то нашлось, то значит статья уже есть, берем другую,
если не нашлось, то статья новая - постим на сайт..

PS: так подробно, для mkt
только нужно будет дополнительно в в заэскейпленный заголовок добавить условия границ, чтобы не нашло частичное вхождение
 

Кто просматривает тему: (Всего: 5, Пользователи: 0, Гости: 5)