Делает полный дамп твоей истории заказов (активные, архивные, диспуты, отменённые).
Important
Работает только с АлиРаша!
- Заходишь через браузер на АлиРаша
- Логинишься
- Прописываешь кукисы в файл
.env
или ставишь руками переменные среды, список кук ниже (вместе с кавычками!!!) - Запускаешь
python main.py
Tip
Если хотите замедлить парсинг для избежания бана, запускайте со слипом (1й параметр задаёт sleep между запросами в секундах): python main.py 1
Tip
Если у вас много заказов можете увеличить размер страницы (2й параметр задаёт число запрашиваемых за раз заказов): python main.py 0 100
На выходе получаешь 3 файлика в формате csv
:
- активные заказы
- архив
- диспуты
В файлах csv
сохраняются следующие поля:
- name - имя лота (как он назывался на момент заказа)
- options - опция лота (цвет, фактура, уточнение модели, также может нести информацию о количестве, например:
1pcs
,25pcs
,500pcs
) - quantity - сколько инстансов лота было заказано
- status - статус и дата; возможные статусы (из моей истории заказов):
Received
,Cancelled
,Finished
,Problems with delivery
- image_url - ссылка на картинку лота в разрешении
220х220
Note
Поскольку вся затея была ради того, чтобы получить список лотов распоряжении, то из архивных заказов однозначно следует отфильтровать заказы со статусом Cancelled
: grep -v 'Cancelled ' archive.csv > archive_new.csv
. Статусы Finished
и Problems with delivery
неоднозначны - это могут быть как полученные заказы, так и нет (например, недоставленные к моменту закрытия по таймауту, но диспут по которым не открывался); по этим статусам надо в индивидуальном порядке вспоминать что было получено, а что утеряно безвозвратно.
Забиваешь в .env
следующие переменные (имя кук такое же):
XMAN_T="..."
XMAN_F="..."
X_AER_TOKEN="..."
Caution
Кавычки обязательны!
Important
/* Paranoid mode*/
: На всякий случай будет нелишним подставить строку User Agent того браузера, откуда были взяты куки (переменная UA
в коде)
Для извлечения кук из Firefox я использовал баш-скрипт по ссылке (отфильтровывает одноимённые куки с глобального АЕ и Алибабы):
./extract_cookies.sh /home/<user>/.mozilla/firefox/<profile>.default/cookies.sqlite \
| grep -v "aliexpress.com" | grep -v "alibaba.com" | grep -e xman_t -e xman_f -e x_aer_token
todo
Если скрипт вылетает подобным образом, то проверьте не протухли ли ваши куки:
Traceback (most recent call last):
File "aliParser/main.py", line 97, in <module>
main()
File "aliParser/main.py", line 46, in main
dataRaw, next = getItems(s, mode, page, PAGE_SIZE)
File "aliParser/main.py", line 60, in getItems
items.append(respJSON["items"])
KeyError: 'items'