0
0
mirror of https://github.com/Maks1mS/free-ozon-dpr.git synced 2024-12-23 10:32:58 +03:00

add address link

This commit is contained in:
Maxim Slipenko 2024-06-06 20:31:02 +03:00
parent da2fed1fd2
commit 38ea2317c0
6 changed files with 120 additions and 46 deletions

View File

@ -9,6 +9,7 @@
],
"link": "https://ozon.ru/point/517053",
"name": "г.Донецк, ул. Петровского, 111в",
"address": "г.Донецк, ул. Петровского, 111в",
"operationTime": "неизвестно"
},
{
@ -18,6 +19,7 @@
],
"link": "https://ozon.ru/point/517054",
"name": "г.Донецк, пр-т. Ленинский, 4",
"address": "г.Донецк, пр-т. Ленинский, 4",
"operationTime": "неизвестно"
},
{
@ -27,6 +29,7 @@
],
"link": "https://ozon.ru/point/517061",
"name": "г.Донецк, пр-т. Гурова, 7",
"address": "г.Донецк, пр-т. Гурова, 7",
"operationTime": "неизвестно"
},
{
@ -36,6 +39,7 @@
],
"link": "https://ozon.ru/point/517062",
"name": "г.Макеевка, ул.Рябцева, 1",
"address": "г.Макеевка, ул.Рябцева, 1",
"operationTime": "неизвестно"
},
{
@ -45,6 +49,7 @@
],
"link": "https://ozon.ru/point/517055",
"name": "г.Донецк, ул. Артема, 148а",
"address": "г.Донецк, ул. Артема, 148а",
"operationTime": "неизвестно"
},
{
@ -54,6 +59,7 @@
],
"link": "https://ozon.ru/point/517058",
"name": "г.Донецк, ул. Харитонова, 3А",
"address": "г.Донецк, ул. Харитонова, 3А",
"operationTime": "неизвестно"
},
{
@ -63,6 +69,7 @@
],
"link": "https://ozon.ru/point/514844",
"name": "г.Донецк, пр. Ильича, 32",
"address": "г.Донецк, пр. Ильича, 32",
"operationTime": "неизвестно"
},
{
@ -72,6 +79,7 @@
],
"link": "https://ozon.ru/point/517059",
"name": "г.Донецк, ул. Челюскинцев, 167",
"address": "г.Донецк, ул. Челюскинцев, 167",
"operationTime": "неизвестно"
},
{
@ -81,6 +89,7 @@
],
"link": "https://ozon.ru/point/517056",
"name": "г.Донецк, ул. Полоцкая, 9",
"address": "г.Донецк, ул. Полоцкая, 9",
"operationTime": "неизвестно"
},
{
@ -90,6 +99,7 @@
],
"link": "https://ozon.ru/point/514822",
"name": "г.Донецк, ул. Университетская, 34",
"address": "г.Донецк, ул. Университетская, 34",
"operationTime": "неизвестно"
},
{
@ -99,6 +109,7 @@
],
"link": "https://ozon.ru/point/516734",
"name": "г.Мариуполь, пр. Металлургов, 94",
"address": "г.Мариуполь, пр. Металлургов, 94",
"operationTime": "неизвестно"
},
{
@ -108,6 +119,7 @@
],
"link": "https://ozon.ru/point/518290",
"name": "г. Мариуполь ул. Урицкого 63",
"address": "г. Мариуполь ул. Урицкого 63",
"operationTime": "неизвестно"
},
{
@ -117,6 +129,7 @@
],
"link": "https://ozon.ru/point/524639",
"name": "Донецк, Университетская улица, 26",
"address": "Донецк, Университетская улица, 26",
"operationTime": "неизвестно"
},
{
@ -126,6 +139,7 @@
],
"link": "https://ozon.ru/point/524695",
"name": "Макеевка, улица Ленина, 50А",
"address": "Макеевка, улица Ленина, 50А",
"operationTime": "неизвестно"
},
{
@ -135,6 +149,7 @@
],
"link": "https://ozon.ru/point/533299",
"name": "Макеевка, улица Ленина, 108",
"address": "Макеевка, улица Ленина, 108",
"operationTime": "неизвестно"
},
{
@ -144,6 +159,7 @@
],
"link": "https://ozon.ru/point/533305",
"name": "Новоазовск, улица Ленина, 48",
"address": "Новоазовск, улица Ленина, 48",
"operationTime": "неизвестно"
},
{
@ -153,6 +169,7 @@
],
"link": "https://ozon.ru/point/533308",
"name": "Донецк, Прожекторная улица, 3",
"address": "Донецк, Прожекторная улица, 3",
"operationTime": "неизвестно"
},
{
@ -162,6 +179,7 @@
],
"link": "https://ozon.ru/point/533314",
"name": "Донецк, улица 50-летия СССР, 150",
"address": "Донецк, улица 50-летия СССР, 150",
"operationTime": "неизвестно"
},
{
@ -171,6 +189,7 @@
],
"link": "https://ozon.ru/point/533323",
"name": "Донецк, улица 50-летия СССР, 157А",
"address": "Донецк, улица 50-летия СССР, 157А",
"operationTime": "неизвестно"
},
{
@ -180,6 +199,7 @@
],
"link": "https://ozon.ru/point/533329",
"name": "Донецк, улица 50-летия СССР, 100",
"address": "Донецк, улица 50-летия СССР, 100",
"operationTime": "неизвестно"
},
{
@ -189,6 +209,7 @@
],
"link": "https://ozon.ru/point/533332",
"name": "Донецк, улица Куйбышева, 217Б",
"address": "Донецк, улица Куйбышева, 217Б",
"operationTime": "неизвестно"
},
{
@ -198,6 +219,7 @@
],
"link": "https://ozon.ru/point/533345",
"name": "Донецк, Кировский район, улица Островского, 20",
"address": "Донецк, Кировский район, улица Островского, 20",
"operationTime": "неизвестно"
},
{
@ -207,6 +229,7 @@
],
"link": "https://ozon.ru/point/533347",
"name": "Донецк, ул. Павших Коммунаров 1. ТЦ «Южный»",
"address": "Донецк, ул. Павших Коммунаров 1. ТЦ «Южный»",
"operationTime": "неизвестно"
},
{
@ -216,6 +239,7 @@
],
"link": "https://ozon.ru/point/533348",
"name": "Донецк, Раздольная улица, 6",
"address": "Донецк, Раздольная улица, 6",
"operationTime": "неизвестно"
},
{
@ -225,6 +249,7 @@
],
"link": "https://ozon.ru/point/533350",
"name": "Чистяково / Торез, 4-й микрорайон, (Торговые павильоны в районе дома 23)",
"address": "Чистяково / Торез, 4-й микрорайон, (Торговые павильоны в районе дома 23)",
"operationTime": "неизвестно"
},
{
@ -234,6 +259,7 @@
],
"link": "https://ozon.ru/point/534899",
"name": "Донецк, ул. Воровского 9",
"address": "Донецк, ул. Воровского 9",
"operationTime": "неизвестно"
},
{
@ -243,6 +269,7 @@
],
"link": "https://ozon.ru/point/534902",
"name": "г. Макеевка, пр. генерала Данилова 71б",
"address": "г. Макеевка, пр. генерала Данилова 71б",
"operationTime": "неизвестно"
},
{
@ -252,6 +279,7 @@
],
"link": "https://ozon.ru/point/534903",
"name": "Енакиево, пр. Ленина 98В",
"address": "Енакиево, пр. Ленина 98В",
"operationTime": "неизвестно"
},
{
@ -261,6 +289,7 @@
],
"link": "https://ozon.ru/point/534903",
"name": "Снежное, ул. Дзержинского, 2",
"address": "Снежное, ул. Дзержинского, 2",
"operationTime": "неизвестно"
},
{
@ -270,6 +299,7 @@
],
"link": "https://ozon.ru/point/535038",
"name": "г. Харцызск, ул. Октябрьская 84",
"address": "г. Харцызск, ул. Октябрьская 84",
"operationTime": "неизвестно"
},
{
@ -279,6 +309,7 @@
],
"link": "https://ozon.ru/point/534940",
"name": "г. Харцызск, м-н Юбилейный 4",
"address": "г. Харцызск, м-н Юбилейный 4",
"operationTime": "неизвестно"
},
{
@ -288,6 +319,7 @@
],
"link": "https://ozon.ru/point/534940",
"name": "Донецк, бул. Шахтостроителей 20",
"address": "Донецк, бул. Шахтостроителей 20",
"operationTime": "неизвестно"
},
{
@ -297,6 +329,7 @@
],
"link": "https://ozon.ru/point/534953",
"name": "Донецк, пр - кт Ленинский, остановка Звездный’",
"address": "Донецк, пр - кт Ленинский, остановка Звездный’",
"operationTime": "неизвестно"
},
{
@ -306,6 +339,7 @@
],
"link": "https://ozon.ru/point/534953",
"name": "Макеевка, кв. Северный 17",
"address": "Макеевка, кв. Северный 17",
"operationTime": "неизвестно"
},
{
@ -315,6 +349,7 @@
],
"link": "https://ozon.ru/point/535056",
"name": "Донецк, улица Коммунаров, 38",
"address": "Донецк, улица Коммунаров, 38",
"operationTime": "неизвестно"
},
{
@ -324,6 +359,7 @@
],
"link": "https://ozon.ru/point/536823",
"name": "Донецк, ул. Артема 147б",
"address": "Донецк, ул. Артема 147б",
"operationTime": "неизвестно"
},
{
@ -333,6 +369,7 @@
],
"link": "https://ozon.ru/point/536826",
"name": "Донецк, ул. Независимости 16Д",
"address": "Донецк, ул. Независимости 16Д",
"operationTime": "неизвестно"
},
{
@ -342,6 +379,7 @@
],
"link": "https://ozon.ru/point/536825",
"name": "Торез, Пионерская 1",
"address": "Торез, Пионерская 1",
"operationTime": "неизвестно"
},
{
@ -351,6 +389,7 @@
],
"link": "https://ozon.ru/point/536839",
"name": "г. Зугрес, ул. Рыночная 1",
"address": "г. Зугрес, ул. Рыночная 1",
"operationTime": "неизвестно"
},
{
@ -360,6 +399,7 @@
],
"link": "https://ozon.ru/point/536623",
"name": "г. Харцызск, ул. Шалимова 14Б",
"address": "г. Харцызск, ул. Шалимова 14Б",
"operationTime": "неизвестно"
},
{
@ -369,6 +409,7 @@
],
"link": "https://ozon.ru/point/536824",
"name": "Горловка, проспект Победы 55",
"address": "Горловка, проспект Победы 55",
"operationTime": "неизвестно"
},
{
@ -378,6 +419,7 @@
],
"link": "https://ozon.ru/point/536836",
"name": "Горловка, ул. 40 лет Украины 9",
"address": "Горловка, ул. 40 лет Украины 9",
"operationTime": "неизвестно"
},
{
@ -387,6 +429,7 @@
],
"link": "https://ozon.ru/point/536827",
"name": "Горловка, ул. Бессонова 29а",
"address": "Горловка, ул. Бессонова 29а",
"operationTime": "неизвестно"
},
{
@ -396,6 +439,7 @@
],
"link": "https://ozon.ru/point/536832",
"name": "Горловка, ул. Гагарина 32",
"address": "Горловка, ул. Гагарина 32",
"operationTime": "неизвестно"
},
{
@ -405,6 +449,7 @@
],
"link": "https://ozon.ru/point/536666",
"name": "Енакиево, 50 лет Октября 58а",
"address": "Енакиево, 50 лет Октября 58а",
"operationTime": "неизвестно"
},
{
@ -414,6 +459,7 @@
],
"link": "https://ozon.ru/point/536668",
"name": "Енакиево, ул. Ленина 91а",
"address": "Енакиево, ул. Ленина 91а",
"operationTime": "неизвестно"
},
{
@ -423,6 +469,7 @@
],
"link": "https://ozon.ru/point/536829",
"name": "Мариуполь, пр. Металлургов 97",
"address": "Мариуполь, пр. Металлургов 97",
"operationTime": "неизвестно"
},
{
@ -432,6 +479,7 @@
],
"link": "https://ozon.ru/point/536828",
"name": "Мариуполь, пр. Металлургов 227",
"address": "Мариуполь, пр. Металлургов 227",
"operationTime": "неизвестно"
},
{
@ -441,6 +489,7 @@
],
"link": "https://ozon.ru/point/536673",
"name": "Мариуполь, пр. Победы 89",
"address": "Мариуполь, пр. Победы 89",
"operationTime": "неизвестно"
},
{
@ -450,6 +499,7 @@
],
"link": "https://ozon.ru/point/536837",
"name": "Мариуполь, ул. Киевская 51",
"address": "Мариуполь, ул. Киевская 51",
"operationTime": "неизвестно"
},
{
@ -459,6 +509,7 @@
],
"link": "https://ozon.ru/point/536835",
"name": "Мариуполь, ул. Февральская 44а",
"address": "Мариуполь, ул. Февральская 44а",
"operationTime": "неизвестно"
},
{
@ -468,6 +519,7 @@
],
"link": "https://ozon.ru/point/536831",
"name": "Мариуполь, Казанцева 22а",
"address": "Мариуполь, Казанцева 22а",
"operationTime": "неизвестно"
},
{
@ -477,6 +529,7 @@
],
"link": "https://ozon.ru/point/536838",
"name": "Донецк, ул. Речная 24Б",
"address": "Донецк, ул. Речная 24Б",
"operationTime": "неизвестно"
},
{
@ -486,6 +539,7 @@
],
"link": "https://ozon.ru/point/536830",
"name": "Донецк, ул. Пилотная 28",
"address": "Донецк, ул. Пилотная 28",
"operationTime": "неизвестно"
},
{
@ -495,6 +549,7 @@
],
"link": "https://ozon.ru/point/536833",
"name": "Донецк, бул. Шевченко, 66",
"address": "Донецк, бул. Шевченко, 66",
"operationTime": "неизвестно"
}
]

View File

@ -13,9 +13,10 @@
<a href="#" id="popup-closer" class="ol-popup-closer"></a>
<div id="popup-content">
<p id="popup-name"></p>
<p id="popup-address"></p>
<a id="popup-address"></a>
<p>График работы: <span id="popup-operation-time">неизвестно</span></p>
<p>
Отсканируйте QR или нажмите на него
<a id="popup-link" href="">
<canvas id="popup-canvas"></canvas>
</a>

View File

@ -690,6 +690,7 @@
],
"link": "https://ozon.ru/point/518290",
"name": "г. Мариуполь ул. Урицкого 63",
"address": "г. Мариуполь ул. Урицкого 63",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"
@ -701,6 +702,7 @@
],
"link": "https://ozon.ru/point/524695",
"name": "Макеевка, улица Ленина, 50А",
"address": "Макеевка, улица Ленина, 50А",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"
@ -712,6 +714,7 @@
],
"link": "https://ozon.ru/point/533299",
"name": "Макеевка, улица Ленина, 108",
"address": "Макеевка, улица Ленина, 108",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"
@ -723,6 +726,7 @@
],
"link": "https://ozon.ru/point/536829",
"name": "Мариуполь, пр. Металлургов 97",
"address": "Мариуполь, пр. Металлургов 97",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"
@ -734,6 +738,7 @@
],
"link": "https://ozon.ru/point/536828",
"name": "Мариуполь, пр. Металлургов 227",
"address": "Мариуполь, пр. Металлургов 227",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"
@ -745,6 +750,7 @@
],
"link": "https://ozon.ru/point/536673",
"name": "Мариуполь, пр. Победы 89",
"address": "Мариуполь, пр. Победы 89",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"
@ -756,6 +762,7 @@
],
"link": "https://ozon.ru/point/536837",
"name": "Мариуполь, ул. Киевская 51",
"address": "Мариуполь, ул. Киевская 51",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"
@ -767,6 +774,7 @@
],
"link": "https://ozon.ru/point/536835",
"name": "Мариуполь, ул. Февральская 44а",
"address": "Мариуполь, ул. Февральская 44а",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"
@ -778,6 +786,7 @@
],
"link": "https://ozon.ru/point/536831",
"name": "Мариуполь, Казанцева 22а",
"address": "Мариуполь, Казанцева 22а",
"operationTime": "неизвестно",
"source": "https://dostavka.7telecom.ru",
"provider": "7dostavka"

View File

@ -2,6 +2,7 @@ import map from "./map";
import { Overlay } from "ol";
import QRCode from "qrcode";
import { el } from "./utils";
import { toLonLat } from "ol/proj";
const container = el("popup");
const closer = el("popup-closer");
@ -38,8 +39,11 @@ function onClick(event) {
const coordinates = feature.getGeometry().getCoordinates();
const [lon, lat] = toLonLat(coordinates);
popupName.textContent = feature.get("name");
popupAddress.textContent = feature.get("address");
popupAddress.href = `https://yandex.ru/maps/?pt=${lon},${lat}&z=18&l=map`
popupLink.href = feature.get("link");
popupSource.href = feature.get("source");
popupOperationTime.textContent = feature.get("operationTime") ?? "неизвестно";

View File

@ -1,8 +1,8 @@
import fs from "node:fs/promises";
import { asyncMap } from "modern-async";
import { JSDOM } from "jsdom";
import { getFinalURL } from "./utils.js";
import ozonWbDpr from "./update/ozon-wb-dpr.js";
import sevenDostavka from "./update/sevenDostavka.js";
async function woyag() {
const apiResponse = await fetch("https://login.woyag.ru/ajax/pvz-list");
@ -40,52 +40,10 @@ async function woyag() {
);
}
const linkRegexp = new RegExp(/https:\/\/ozon\.ru\/point\/\d+/);
async function sevenDostavka() {
const res = await fetch("https://dostavka.7telecom.ru");
const htmlText = await res.text();
const dom = new JSDOM(htmlText);
const document = dom.window.document;
const scripts = document.querySelectorAll("script");
for (let script of scripts) {
if (script.textContent.includes("ДОБАВИТЬ ПУНКТ ВЫДАЧИ В ПРИЛОЖЕНИЕ")) {
let x = script.textContent.split("[\n{\n").pop().split("\n},\n]")[0];
if (x) {
const points = new Function(`return [{${x}}]`)();
fs.writeFile(
"data/99_sevenDostavka.json",
JSON.stringify(
{
name: "7dostavka",
source: "https://dostavka.7telecom.ru",
points: points.map((point) => ({
coordinates: [
parseFloat(point["lng"]),
parseFloat(point["lat"]),
],
link: linkRegexp.exec(point.descr)[0],
name: point.title,
operationTime: "неизвестно",
})),
},
undefined,
4
)
);
}
}
}
}
async function main() {
await woyag();
// await woyag();
await sevenDostavka();
await ozonWbDpr();
// await ozonWbDpr();
}
main();

View File

@ -0,0 +1,47 @@
import fs from "node:fs/promises";
import { JSDOM } from "jsdom";
const linkRegexp = new RegExp(/https:\/\/ozon\.ru\/point\/\d+/);
async function sevenDostavka() {
const res = await fetch("https://dostavka.7telecom.ru");
const htmlText = await res.text();
const dom = new JSDOM(htmlText);
const document = dom.window.document;
const scripts = document.querySelectorAll("script");
for (let script of scripts) {
if (script.textContent.includes("ДОБАВИТЬ ПУНКТ ВЫДАЧИ В ПРИЛОЖЕНИЕ")) {
let x = script.textContent.split("[\n{\n").pop().split("\n},\n]")[0];
if (x) {
const points = new Function(`return [{${x}}]`)();
fs.writeFile(
"data/99_sevenDostavka.json",
JSON.stringify(
{
name: "7dostavka",
source: "https://dostavka.7telecom.ru",
points: points.map((point) => ({
coordinates: [
parseFloat(point["lng"]),
parseFloat(point["lat"]),
],
link: linkRegexp.exec(point.descr)[0],
name: point.title,
address: point.title,
operationTime: "неизвестно",
})),
},
undefined,
4
)
);
}
}
}
}
export default sevenDostavka;