Написал расширение, которое качает статьи Хабра в Markdown — и не долбит сервер

#Написал #Хабра #Markdown #DNS-трафик #Python
Написал расширение, которое качает статьи Хабра в Markdown — и не долбит сервер

В прошлых двух статьях я разбирал DNS-трафик домашней сети и анализировал 1233 публикации Хабра, чтобы понять, за что площадка даёт рейтинг. И там, и там был вопрос, который я обходил: чем, собственно, я выгрузил эту тысячу статей? Не руками копировал и не скриптом на Python, который на двухсотом запросе получил бы 429 и бан по IP. Я написал расширение для Chrome, которое сохраняет статьи Хабра в Markdown — по одной, пакетом или автоматически по расписанию, — и делает это достаточно вежливо, чтобы сервер не считал его атакой. Главная мысль статьи оказалась не про парсинг HTML, а про хорошие манеры к серверу. Наивный качатель на голом fetch пишется за пять минут и получает бан на десятой. Инструмент, которым можно пользоваться постоянно, отличается тремя вещами: — держит принудительный интервал между запросами (1.5 секунды, гарантированно); — слушает 429 и при перегрузке сервера замолкает на три минуты целиком (паттерн circuit breaker), а не долбит сквозь ограничение; — работает с откры

Ранее я разбирал DNS-трафик домашней сети и анализировал 1233 публикации Хабра, чтобы понять, за что площадка даёт рейтинг. И там, и там был вопрос, который я обходил стороной: а чем, собственно, я выгрузил эту тысячу статей?

Не руками же копировал. И не скриптом на Python, который на двухсотом запросе получил бы 429 Too Many Requests и бан по IP. Я написал расширение для Chrome, которое сохраняет статьи Хабра в Markdown — по одной, пакетом или автоматически по расписанию, — и делает это достаточно вежливо, чтобы сервер не воспринимал его как атаку.

Ниже — как оно устроено, почему выгрузка чужого сайта это в первую очередь вопрос хороших манер к серверу, и где проходит граница между «сохранил статью для себя» и «спарсил контент». Расширение с открытым кодом, ссылки в конце.

Зачем вообще выгружать статьи

Похожие статьи

Российская газета
Российская газета

В Таджикистане назвали причину масштабного отключения электричества в стране

Причиной масштабного отключения электроэнергии 14 августа в Таджикистане (РТ) стало аварийное отключение двух гидроагрегатов Токтогульской ГЭС в Кыргызстане общей мощностью 600 МВт. Об этом сообщает и...

Российская газета
Дроны ВСУ покалечили двоих мирных жителей Белгородской области Life.ru
Life.ru

Дроны ВСУ покалечили двоих мирных жителей Белгородской области

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

Life.ru
Протон оказался не просто «тройкой кварков»: физики нашли свидетельства скрытой структуры внутри него iXBT.com
iXBT.com

Протон оказался не просто «тройкой кварков»: физики нашли свидетельства скрытой структуры внутри него

Эксперименты на коллайдере RHIC показали, что барионное число протона переносится не так, как предполагала кварковая модель, что поддерживает многолетнюю гипотезу о глюонной структуре внутри барионов ...

iXBT.com
Российская газета
Российская газета

FT: На Украине закончились ракеты к ЗРК Patriot

В ходе недавних ударов России по Киеву украинские системы ПВО бездействовали из-за отсутствия боеприпасов. У ВСУ закончились ракеты-перехватчики для зенитных комплексов Patriot, единственного оружия, ...

Российская газета
Стол длиной в 100 метров и более 200 гостей: на Урале устроили грандиозный пир E1.ru
E1.ru

Стол длиной в 100 метров и более 200 гостей: на Урале устроили грандиозный пир

В числе приглашенных — главные звезды региона

E1.ru
В Нью-Йорке задержали подозреваемого в стрельбе в элитном районе РИА
РИА

В Нью-Йорке задержали подозреваемого в стрельбе в элитном районе

Один человек задержан после стрельбы в элитном районе Нью-Йорка возле Центрального парка, сообщили РИА Новости в городском управлении полиции. РИА Новости, 15.08.2026

РИА