LINUX.ORG.RU

Парсинг последних новостей

 


0

3

Хочу парсить с разных сайтов последние новости и составлять свою новостную страничку. Но хочу, чтобы отображались только те посты, которые ранее не отображались: как это сделать более элегантно, кроме сохранения содержимого в файл и постоянного сравнивания «если было, то…» ??? Если можете с примерами, то вообще хорошо.

Перемещено Zhbert из general


Ответ на: комментарий от XoFfiCEr

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

dimuska139 ★★
()
Последнее исправление: dimuska139 (всего исправлений: 1)
Ответ на: комментарий от XoFfiCEr

Как отсутствие RSS мешает парсить сайт? Нет RSS - бери ссылки из sitemap.xml. А если нет даже sitemap - просто обходишь все страницы, ходя по внутренним ссылкам, подобно краулерам поисковых систем. Отсутствие RSS вообще никак не мешает собирать контент с сайтов.

dimuska139 ★★
()
Ответ на: комментарий от XoFfiCEr

Вам бы лишь чтобы циферки версий постоянно росли. Если программа или протокол прекрасно выполняют свою работу, то зачем его обновлять?

Вот народ до сих пор сидит на WinXP и слушает 80-е, хотя казалось устарело, надо закапывать.

gtk3 ★★★
()
Ответ на: комментарий от dimuska139

был другой проект давно, поэтому деталей не помню, так вот с другой стороны действовал. Использовался xdotool так сначала tab-переходами осуществлялся переход к нужному блоку текста потом выделение расширялось и потом ctrl+c

XoFfiCEr ★★☆☆
()
Последнее исправление: XoFfiCEr (всего исправлений: 1)
Ответ на: комментарий от XoFfiCEr

Эм… Но ведь это и правда легко. Скачиваешь страницу с помощью requests, с помощью beautifulsoup находишь на ней все элементы a (ссылки). Берёшь у них атрибут href и смотришь, внутренняя это ссылка или нет. Если внутренняя, то проверяешь, обрабатывал ты её или нет, и повторяешь то же самое для неё (если она ещё не обрабатывалась, иначе пропускаешь). Одновременно с этим собираешь с обрабатываемых страниц нужную информацию. И так далее. Это максимум строк 20 на питоне (не считая самой логики сбора информации со страниц).

P.s. если сайт не рендерится на сервере, а прямо в браузере (например, на React сделан), то можно либо просто соответствующие API вызывать (тогда вообще html парсить и не придётся), либо использовать Selenium (но обычно это не требуется даже).

dimuska139 ★★
()
Последнее исправление: dimuska139 (всего исправлений: 1)
Ответ на: комментарий от XoFfiCEr

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

dimuska139 ★★
()
Ответ на: комментарий от D3306

Эй Вуася, это реальные заголовки с новостного агрегатора за вчера.

system-root ★★★★★
()

Очевидный RSS

Dred ★★★★★
()
Ответ на: комментарий от teod0r

кстати не встречал НИ ОДНОГО новостного сайта, который бы размещал новости в правильном хронологическом порядке. все они периодически публикуют новости задним числом

времени не существует

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

например, есть время хронос (линейно упорядоченное) и время кайрос (удобно упорядоченное). в математике есть изоморфизмы: R-числа вещественные и p-адические, в виде дерева. в физике есть изоморфизмы: 4-вектора всякие и там с точностью до знака метрического тензора время это координата. в проективной геометрии всякой можно представить комплексные проекцией трехмерных, одномерные проекцией двухмерных. во всяких там топосах гротендика есть связь в теореме Римана-Роха, напоминающая тензоры Эйнштейна и гиперболический поворот в преобразованиях Лоренца (записанных через матричный генератор как формула Эйлера через матричное экспоненциирование, сведя матрицы поворота к матричному экспоненциированию генератора). в квантовой механике время мнимое комплексное.

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

как Гротендик сказал, что теорема Римана-Роха это не про многообразия, а про изоморфизмы над многообразиями. навроде амальгамы в категориях – уравнения, которое будучи применено к обоим половинам, левой про геометрию, топологию и связность и правой про алгербаичность мира пространства-времени, е равно эмси и прочее. вот применяя эти морфизмы к обоим частям и получаем искомое.

а само одномерное время является свёрткой, скалярным произведением над каким-то тензором.

время не реально.

реальны – вот те преобразования энергии/массы справа и геометричности/топологичности/связности слева, их порождающие. то есть, движения материи в гиперпространстве-мультивремени порождающем с генераторами – более многомерном чем 4-вектора порождённые.

соответственно, и моделей времени может быть несколько, если они более удобны. многомерные банаховы римановы например.

время не реально – реальным нам кажется его восприятие, чисто в силу привычки.

потому что здесь своих Бурбак и Гротендиков не хватает – которые бы повысили уровень абстракции и свели бы вместе вот это всё, вектор Умова, энергию времени Козырева и прочие преобразования Пуанкаре всякие.

anonymous
()

Короче запилил. Как оказалось сохранение даты поста является самым лучшим решением.

D3306
() автор топика
Ответ на: комментарий от XoFfiCEr

Гуглоалертс очень избирательный, может не давать алерты на новости из другой страны или того, что сочтет другой страной

anonymous
()
Ответ на: комментарий от anonymous

не разу такого не замечал, новости с российских СМИ давал всегда.

XoFfiCEr ★★☆☆
()

просто google alerts (api ключ бесплатный) какой нибудь roundcube на хостинге для gmail и php скрипт парсит базу данных почтового клиента.

XoFfiCEr ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.