TGViewer
Сохранёнки программиста Сохранёнки программиста @prog_stuff · 6.54K subscribers
Post #3014 1.35K
Как устроен асинхронный веб-краулер на Python

Обстоятельная глава строит краулер с нуля: от корневого URL он скачивает страницы, извлекает новые ссылки и ставит их в очередь. Число одновременных запросов ограничивают, чтобы избыток конкуренции не снижал производительность.

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

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

В главе «A Web Crawler With asyncio Coroutines» из 500 Lines or Less код написан для Python 3.4. Читайте ради механики цикла событий; перед копированием сверяйте API с документацией.
More from @prog_stuff
  1. Sep 20, 2026Как процессор предсказывает ветвления Псевдотранскрипт доклада объясняет тему с нуля. Конв…
  2. Sep 20, 2026Почему одни движки регулярных выражений зависают, а другие нет Обстоятельная статья Расса…
  3. Sep 19, 2026Как проверять изменения без риска для всего трафика Компактный разбор о снижении риска при…
  4. Sep 19, 2026Как собрать модель пиковой нагрузки из боевой телеметрии Обстоятельный гайд о замене выгру…
  5. Sep 18, 2026Как работает фильтр Блума и когда его неточность экономит память Фильтр Блума сообщает: «э…
  6. Sep 17, 2026Как работает однопошаговый отладчик Linux на ptrace Обстоятельная статья разбирает основу…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →