Skip to content

Instantly share code, notes, and snippets.

@robsalasco
Created December 5, 2021 00:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robsalasco/32369e64aaff29a812e86e2e2a97e7ca to your computer and use it in GitHub Desktop.
Save robsalasco/32369e64aaff29a812e86e2e2a97e7ca to your computer and use it in GitHub Desktop.
worker.js
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const searchParams = new URL(request.url).searchParams
let url = searchParams.get('url')
if (url && !url.match(/^[a-zA-Z]+:\/\//)) url = 'http://' + url
response = await fetch(url).then((response) => {
return response;
})
var g = new Array();
await new HTMLRewriter().on('#root-app > div > div.ui-pdp-container.ui-pdp-container--pdp > div > div.ui-pdp-container__col.col-1.ui-pdp-container--column-right.mt-20.mr-20 > div:nth-child(1) > div > div.ui-pdp-container__row.ui-pdp-container__row--highlighted-specs-res > div > div:nth-child(2) > span',
{text(text) { console.log(text);g.push(text.text) }}).transform(response).text();
return new Response(JSON.stringify({url: url,
precio: g}, null, 2), {
headers: { 'content-type': 'application/json;charset=UTF-8',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Content-Type' },
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment