TGViewer
Артём Акулов | Парсинг сайтов Артём Акулов | Парсинг сайтов @scrapeprofy · 180 subscribers
Post #8 420
🔹 Новый проект: парсер тысяч изображений с техническими спецификациями оборудования.

🔹 Реализовал на Patchright и Scrapy.

🔹 Логика работы:
загружаем контент с динамического сайта конкурента, затем передаём данные в Scrapy для многопоточного парсинга и сохранения данных в папку на сервере.

🔹 Конфиг Patchright (используется реальный браузер Chrome):

context = await p.chromium.launch_persistent_context(
user_data_dir=user_data_dir,
channel="chrome",
headless=True,
no_viewport=True
)


🔹 Отключаю загрузку картинок и видео для ускорения работы и экономии ресурсов:

await context.route("**/*.{png,jpg,jpeg,gif,webp,svg,mp4,avi,mov}", lambda route: route.abort())


🔹 Контент страницы подгружается только по мере скролинга, поэтому был реализован быстрый скролл до конца страницы с помощью цикла:

page = await context.new_page()
await page.goto(url)
await page.wait_for_load_state("domcontentloaded")

if await page.evaluate("document.body.scrollHeight > window.innerHeight"):
last_position = 0
while True:
await page.evaluate("window.scrollBy(0, 50000);")
await asyncio.sleep(0.5)
new_position = await page.evaluate("window.scrollY")
if new_position == last_position:
break
last_position = new_position


🔹 Конфиг Scrapy для многопоточного парсинга:

process = CrawlerProcess(settings={
'CONCURRENT_REQUESTS': MAX_CONCURRENT_TASKS,
'LOG_LEVEL': 'ERROR',
'RANDOMIZE_DOWNLOAD_DELAY': True,
'HTTPCACHE_ENABLED': True,
'HTTPCACHE_EXPIRATION_SECS': 86400,
'RETRY_ENABLED': True,
'RETRY_TIMES': 5,
'RETRY_HTTP_CODES': [500, 502, 503, 504, 408, 429, 403, 404, 410],
'COOKIES_ENABLED': True,
'DEFAULT_REQUEST_HEADERS': headers,
'ROBOTSTXT_OBEY': False
})


🔹 Результат: быстрая обработка больших объемов данных, загрузка 5000 файлов занимает в районе 1 минуты, при проблемах скачивания программа автоматически делает повторные попытки в к-ве 5 штук, к-во потоков - 15.
  • 👍 7
  • 🔥 4
  • 🐳 2
More from @scrapeprofy
  1. May 11, 2026🔹 Backlink Checker - сделал новый софт для автоматизированной проверки сайтов-доноров на…
  2. Feb 6, 2026🔹 SEO Footprints - парсим всё что угодно из поисковой системы Google. 🔹 Фактически, Goog…
  3. Aug 20, 2025Парсинг Avito и 2Gis. Готовы два мощных парсера. Для заказа пишите мне @akulovartem. 🔹 Па…
  4. Aug 20, 2025От большого количества обращений зависла база + обновил библиотеки, все работает, тестируй…
  5. Jun 15, 2025🔹 Вчера боту было отправлено 159588 доменов на анализ, ну вы блин даёте! 🔹 Короче, API S…
  6. May 15, 2025🔹 Парсер SimilarWeb: сбор и анализ данных о трафике сайтов прямо в Telegram 🔹 Ссылка на…
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 →