Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 6, 2018 00:51:28

kirussian
Зарегистрирован: 2018-08-28
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг. Проблема поиска цен товара

Всем привет!

Есть функция, которая сохраняет название, старую цену и действующую цену в список.
Однако, не могу понять, как мне сделать условие парсинга цены товара, если в нем нет старой цены. Т.е. если в карточке товара указано 2 цены, у меня получается, а если 1, то не получается.
Сразу второй вопрос: как мне добавить в список парсинг ссылок на товары? как не пробовал, всегда значение None.
Ну и супер сложный для меня вопрос: даже если и название, и цены, и ссылки получится спарсить, то вывод в csv получается нечитабельным. Цены остаются в квадратных скобках, названия остаются с запятыми ('товар').
В общем, мучаюсь уже недели 2-3 с этим. Ссылка на код (без лишних функций сохранения в csv, чтобы было удобно): https://gist.github.com/kirussian911/a6b29e55572222c5d067fef669c96efb

Отредактировано kirussian (Сен. 6, 2018 00:52:28)

Офлайн

#2 Сен. 6, 2018 02:09:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10026
Репутация: +  857  -
Профиль   Отправить e-mail  

Парсинг. Проблема поиска цен товара

Функцию get_data() нужно ещё разбить на несколько функций, а их потом тоже разбивать на функции внутри.

kirussian
В общем, мучаюсь уже недели 2-3 с этим.
Это потому, что ты всё в одной функции пытаешься сделать.

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

Так у тебя получится много мелких функций, но они все будут точными (работать без ошибок) и понятными с первого прочтения. И ты их потом ещё сможешь легко менять, потому что всё изолировано от всего и ни на что не влияет.

Это называется процессом декомпозиции задачи.



Отредактировано py.user.next (Сен. 7, 2018 00:14:25)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version