TGViewer
Frontend Hash Frontend Hash @hashdev · 3.19K subscribers
Post #534 678
Разрываем интернет на Rust: свой многопоточный веб-краулер за вечер

Краулер это один из тех проектов, где Rust показывает свою истинную мощь. Тысячи одновременных соединений, разбор HTML, работа с очередями и разделяемым состоянием, жесткие требования по памяти. На Python вы быстро упрётесь в GIL, на Go получите хорошую производительность, но на Rust с tokio вы выжимаете из одной машины всё возможное. Сегодня построим краулер, который обходит сайт в несколько потоков, уважает robots.txt, ограничивает глубину, дедуплицирует ссылки, извлекает текст и заголовки страниц и складывает всё в JSONL файл. Это не игрушка. С небольшими допиливаниями вы сможете пихать в него миллионы URL.

Что именно мы строим
Разберёмся, что именно нам нужно от краулера. На вход он получает стартовый URL, максимальную глубину обхода и число параллельных рабочих. Дальше он качает страницы, вытаскивает ссылки из тегов a, фильтрует их по домену, чтобы не убежать на весь интернет, добавляет новые URL в очередь и записывает результат в файл. Главная идея схемы: один поставщик задач, много рабочих, один писатель результатов, и всё это связано каналами mpsc из tokio. Блокирующих вызовов нет, разделяемых мьютексов минимум.

https://uproger.com/razryvaem-internet-na-rust-svoj-mnogopotochnyj-veb-krauler-za-vecher/
  • 🔥 1
More from @hashdev
  1. Sep 18, 2026JavaScript. Что будет выведено в консоль? Ответ: 20
  2. Sep 18, 2026Сегодня последний день регистрации на КосмоХакатон 18–20 сентября, Петербург, Красноярск и…
  3. Sep 16, 2026Команды нет — это не причина пропустить КосмоХакатон 18–20 сентября, Санкт-Петербург, Крас…
  4. Sep 14, 2026Signup Form 3D FLIP Animation 3D-анимация формы регистрации, реализованная с помощью CSS и…
  5. Sep 14, 2026Хакатон на космических данных. Санкт-Петербург, Красноярск или онлайн из любой точки стран…
  6. Sep 6, 2026Apache Kafka 4.x - продвинутый бесплатный практический курс 2026 года https://github.com/j…
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 →