Please enable JavaScript.
Coggle requires JavaScript to display documents.
Парсинг сайтов по имуществу (Process: (Циан и Ирр (Сделать контроль…
Парсинг сайтов по имуществу
Process:
Циан и Ирр
Переписать скрипт парсинга циана на 3-й питон
Сделать контроль качества скриптов
Цели:
Обеспечить спарсивание всех данных с любого сайта с погрешность менее 1%
Process:
Сбор эталона по группе для парсинга (например, городу)
Запись количества собранных уникальных айдишников в log-файл
Process:
Проверить, что если объявление не собралось, не записывать его
Time:
10 min
Если что-то неправильно, то нужно поправить
Time:
0-20 min
Сравнение с эталоном
Explanations:
Если с эталоном маленькая погрешность (менее 1%)
Оставляем
Если погрешность более 1%:
Разбираемся:
Process:
4 more items...
Process:
Автоматизировать процесс сравнения
Purpose:
Если получившееся число меньше 0.99, то разбираться, почему не спарсилось все
Process:
Выпарсить эталонное число
1 more item...
Поделить неэталонное на эталонное (добавить процент в конец файла с логами)
1 more item...
Examples:
Вывод в общий лог сравнения с эталоном по группе парсинга в виде: Группа (например, Москва, ул. Садовая) | 1000 | 980 | 98%
Записать в отдельный лог, сломался ли скрипт + записать дополнительную информацию для дебаггинга
Time:
10 min
Генерация уникальных csv-шек имен по серверам
Purpose:
Название csv-файла должно формироваться из названия сервера + времени создания csv-шки
Удаление дубликатов
Process::
Собираем кучу csv-шек на мастер сервер
Создание одной большой csv-шки с уникальными объявлениями
Удалить все мелкие csv-шки
Написать скрипт, который парсит всё
Process:
Спарсить по улицам
Time:
30 min
Спарсить несколько раз по каждой ссылке c временными промежутками, а затем выделить уникальные из нескольких выборок по тем регионам, где недотягивает до эталона
Explanations:
Возможно, стоит добавить идишник временной сессии
Time:
30 min - 2h
Сверить сколько спарсилось с эталоном, и если процент неудовлетворительный и проблема в количестве объектов в ссылке, начинать дробление ссылки или изменить подход
Process:
Дробить на однокомнатные, двухкомнатные и т.д. (в улицах)
Time:
1h
Попробовать ходить по карте по полигонам
Process:
Скопировать куски полигонов с яндекса
Time:
1h
Адаптировать код с яндекса
Time:
2h - 4h
Сравнить, сколько спарсилось по раздробленным областям со всем количеством в крупной ссылке
Process:
Просуммировать количество собранных объектов по разбитым категориям
Сравнить их с крупной категорией
Спарсить 90% данных по циану
Process:
Прикинуть по времени, сколько будет собираться все на одном сервере
Time:
33 дня
Прикинуть количество серверов исходя из количества дней
4 дня => нужно 9 серверов
Разбить данные на равные части
Поставить парситься и мониторить утром и вечером отвалившиеся скрипты, перезапускать при необходимости.
Problems:
Скрипты не отваливаются теперь, их контролит баш, но они зависают
Сделать виртуальное окружение и файл requirements.txt
Исправить зависание через счётчик времени за запись файла. Если очень долго не записывал, то можно кидать исключение
Explanations:
Если второй питон не ломается, то тогда будем парсить со второго питона
Авито
Process:
Включаем шаги с циана и ирр
Сделать рэнж 1-5
Избежать бан
Ideas:
Поставить sleep после бана
Попробовать парсить с прокси со стран, с которых можно собирать авито
Problems:
Слишком быстро забанивается
Работа с серверами
Process:
Bash-script и/или конфиг файл, в котором задаются файлы, которые должны послаться, сервак, на который должны послаться файлы и скрипт, который должен запуститься
Problems:
Копирование файлов на сервак
Types:
Скрипты
Разбиение файликов
Запуск скриптом на серваке
Problems:
Перевести на 3-ий питон является проблематичным
Тестирование занимает много времени
Продумать, как проверять, изменился ли сайт
Options:
Собрать старые ссылки и проверить, работают ли они