Открываем категории https spb winestyle ru wine all https spb winestyl

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Открываем 2 категории:
https://spb.winestyle.ru/wine/all/
https://spb.winestyle.ru/champagnes-and-sparkling/all/
Без перехода на страницу вина получаем:
1) Ссылку на вино
2) Наименование вина на английском, заключено между data-prodname=" "
Заменяем " на "
При наличии в наименовании года выносим его в отдельное поле в БД
Ввести - vintage
3) Фотографию бутылки (link)
4) Артикул - data-prodid=" "
5) Русское наименование вина
6) Цена - <div class='price '> <span>
7) Объем или набор объемов, первый считается основным
7) Рейтинг Winestyle - WineSt <span class="name">Рейтинг WineStyle:</span>
8) Сторонник рейтинги (каждый - в свое поле), отмечен в исходном коде:
WS <div class="rating-name rat PointsWS" >
RP <div class="rating-name rat PointsRP" >
BD <div class="rating-name rat PointsBD" >
ST <div class="rating-name rat PointsST" >
W&S <div class="rating-name rat PointsWandS" >
WE <div class="rating-name rat PointsWE" >
JR <div class="rating-name rat PointsJR big_rating" >
RVF <div class="rating-name rat PointsRVF" >
FM <div class="rating-name rat PointsFM" >
QUA <div class="rating-name rat PointsQUA-20 big_rating" >
WA <div class="rating-name rat PointsWA" >
VIV <div class="rating-name rat PointsVivino" > или <div class="rating-name rat PointsVivino big_rating" >
JS <div class="rating-name rat PointsJS" >
VIN <div class="rating-name rat PointsVIN" >
GP <div class="rating-name rat PointsGP" >
TA <div class="rating-name rat PointsTA" >
GR <div class="rating-name rat PointsGR" >
LM <div class="rating-name rat PointsLM" >
DM <div class="rating-name rat PointsD-5" >
LV-100 <div class="rating-name rat PointsLV-100" >
LV3 <div class="rating-name rat PointsLV-3" >
LE53 <div class="rating-name rat PointsLE-5" >
BH <div class="rating-name rat PointsBH" >
RVF <div class="rating-name rat PointsRVF" >
DEC-5 <div class="rating-name rat PointsDEC-5" >
QUA-100 <div class="rating-name rat PointsQUA-100" >
QUA-20 <div class="rating-name rat PointsQUA-20 big_rating" >
Полученные данные записываем в 2 таблицы:
Winestyle и Winestyle_prices
При первом проходе проверяются таблицы, их структура, при необходимости создаются, если не соответствует структура, то вываливаемся с ошибкой "Изменена структура"
Первый проход - сохраняем данные. Номера строк в первой и второй таблицах соответствуют одному вину. Все описательные данные отправляем в первую таблицу, цену с timestamp - во вторую.
Проходим вглубь каталога - rel="next"
При повторном проходе проверяем наличие айди вина (Winestyle) в нашей БД, если присутствует, цену пишем с новым таймстампом во вторую таблицу. Таким образом, получим динамику цен.
В таблицу Winestyle_prices дописываем в поле Availability TRUE, так как в городе один магазин
ВВОДНЫЕ:
БД - Amwine
Таблицы Winestyle и Winestyle_prices
Порт Mysql, Login/Pass прописываются в настройках пресета, как в отправленном примере