60 lines
1.5 KiB
JavaScript
60 lines
1.5 KiB
JavaScript
import axios from "axios";
|
|
import browser from "../system/browser.js";
|
|
import { extractModelId, extractNumber } from "../system/ultils.js";
|
|
import { ScrapModel } from "./scrap-model.js";
|
|
|
|
export class AllbidsScrapModel extends ScrapModel {
|
|
action = async () => {
|
|
const urlsData = this.extractUrls();
|
|
|
|
console.log({ urlsData });
|
|
|
|
for (let item of urlsData) {
|
|
// await this.page.goto(item.url);
|
|
|
|
// const data = await this.getItemsInHtml(item);
|
|
|
|
// const results = this.filterItemByKeyword(item.keyword, data);
|
|
|
|
// this.results[item.keyword] = results;
|
|
|
|
// console.log({ results: this.results });
|
|
|
|
const { data } = await axios({
|
|
url: item.url,
|
|
method: "POST",
|
|
data: {
|
|
top: 50,
|
|
skip: 0,
|
|
sort: {},
|
|
searchText: item.keyword,
|
|
filter: {
|
|
Display: true,
|
|
},
|
|
dropship: false,
|
|
},
|
|
});
|
|
|
|
const auctions = data?.auctions || [];
|
|
|
|
const mappedData = auctions.map((item) => {
|
|
return {
|
|
url: item.AucDetailsUrlLink,
|
|
image_url: item.aucThumbnailUrl,
|
|
name: item.aucTitle,
|
|
keyword: data.keyword,
|
|
model: extractModelId(item.AucDetailsUrlLink),
|
|
current_price: item.aucCurrentBid,
|
|
scrap_config_id: this.scrap_config_id,
|
|
};
|
|
});
|
|
|
|
const results = this.filterItemByKeyword(item.keyword, mappedData);
|
|
|
|
this.results[item.keyword] = results;
|
|
|
|
console.log({ results: this.results });
|
|
}
|
|
};
|
|
}
|