Разделы · Код и программные интерфейсы
Пишу свой сборщик, и на этом месте встал.
Кратко по условиям.
Пишу на питоне, обвязка своя, библиотек минимум. Логи пишу в файл, разбираю потом отдельно. Логирую код ответа, время и адрес, по которому шёл запрос.
Жду любых мыслей, даже сырых.
Так и работает, проверено не один раз.
Адрес выбирайте по кругу с пропуском тех, что в отказе. Случайный выбор даёт перекос, кому-то достанется втрое больше запросов.
Cookie при массовом сборе лучше сбрасывать. Накопленное состояние делает поведение непредсказуемым.
async with aiohttp.ClientSession() as s:
for i in range(3):
try:
r = await s.get(url, proxy=adres, timeout=30)
break
except Exception:
await asyncio.sleep(2 ** i)Тут стоит разделить два вопроса, их часто путают.
Сессия должна создаваться один раз и жить весь прогон. Новая сессия на каждый запрос съедает время на установку соединения и путает настройки.
А что показывают логи в момент падения?
А что показывают логи в момент падения?
Пришёл к этому не сразу, сначала сделал ошибку.
Число одновременных задач подбирайте замером. На глаз тут промахиваются всегда. Обычно кривая выходит на полку, и дальше растёт только число отказов.
Пусть висит, такие вопросы всплывают постоянно.
Не гоните с первого дня, дайте себе запас.
Не совсем так, и разница тут существенная.
Число одновременных задач подбирайте замером. На глаз тут промахиваются всегда. Обычно кривая выходит на полку, и дальше растёт только число отказов.
Разбор годный, спорить не буду.
Разбирались втроём, нашли случайно.
Не держите весь список в памяти на больших объёмах. Читайте потоком, пишите пачками.
Держите нас в курсе.
Начинал с того же, потом переделал.
Адрес выбирайте по кругу с пропуском тех, что в отказе. Случайный выбор даёт перекос, кому-то достанется втрое больше запросов.
Структуру ответа проверяйте на каждом разборе. Площадки меняют её без предупреждения, и молчаливая потеря полей самая опасная.
Набор новых участников сейчас приостановлен. Читать форум можно без учётной записи, все темы открыты.
Когда набор откроют, объявление появится в разделе с короткими вопросами.
Форма работает в браузере и никуда ничего не отправляет.