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 }); } }; }