Fixed ebay processor

crawler
Edward Peterson 3 years ago
parent 98c2d2fe11
commit f52cd359ae

@ -24,7 +24,9 @@ app.post('/convertGalleryToHar', async (req, res) => {
console.log(url);
// get processor
const processor = _.find(processors, (processor) => ((new URL(url)).hostname) === (processor.baseUrl));
const searchableHostname = (new URL(url)).hostname.replace(/^www\./i, '');
console.log('Searching for hostname:', searchableHostname)
const processor = _.find(processors, (processor) => (searchableHostname) === (processor.baseUrl.replace(/^www\./i, '')));
if (!processor) {
return res.status(400).json({
message: 'Could not find processor for url'
@ -45,7 +47,7 @@ app.post('/convertGalleryToHar', async (req, res) => {
}
})
app.get('/supportedSites', async(req, res) => {
app.get('/supportedSites', async (req, res) => {
res.status(200).json(processors.map(p => p.baseUrl));
})
app.listen(2667);
@ -56,6 +58,11 @@ async function run(url, processor) {
});
const page = await browser.newPage();
await page.setViewport({
width: 1200,
height: 800
});
await page.setUserAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36");
console.log('Loading page...');
await page.goto(url, { timeout: 60000 });
console.log('page loaded')

@ -36,6 +36,10 @@ module.exports = {
}));
sources = sourcesFromThumbnailGallery;
}
console.log('Performing autoscroll')
await autoScroll(page); //auto scroll to trigger loading of description iframe
console.log('autoscroll complete');
const descriptionIframe = await page.$('#desc_ifr');
console.log('has description iframe?', !!descriptionIframe);
const descriptionUrl = await page.evaluate(el => el.getAttribute('src'), descriptionIframe)
@ -111,3 +115,21 @@ async function gatewayclassiccars(page) {
}));
return sources;
}
async function autoScroll(page){
await page.evaluate(async () => {
await new Promise((resolve) => {
var totalHeight = 0;
var distance = 100;
var timer = setInterval(() => {
var scrollHeight = document.body.scrollHeight;
window.scrollBy(0, distance);
totalHeight += distance;
console.log(totalHeight);
if(totalHeight >= scrollHeight - window.innerHeight){
clearInterval(timer);
resolve();
}
}, 100);
});
});
}
Loading…
Cancel
Save