Možná víte, že mám na Twitteru robota s názvem @randomMDN. Každých několik hodin robot načte mapu webu MDN a tweetuje náhodnou stránku.
Dva roky jezdil bez problému, ale nedávno se rozbil. Důvodem bylo, že MDN změnilo mapu webu z https://developer
do https://developer
. Nyní je to soubor gzip.
Chvíli mi trvalo, než jsem přišel na to, jak zacházet s tímto novým formátem souborů. Pro budoucí použití je zde úryvek, který ukazuje rozbalení v Node.js.
Fragment používá got k vytváření požadavků HTTP a node-gzip k načtení gzipované sitemapy a její transformaci na řetězec.
const got = require('got');
const { ungzip } = require('node-gzip');
const SITEMAP_URL =
'https://developer.mozilla.org/sitemaps/en-US/sitemap.xml.gz';
// fetch file
const { body } = await got(SITEMAP_URL, {
responseType: 'buffer',
});
// unzip the buffered gzipped sitemap
const sitemap = (await ungzip(body)).toString();
Třeba to někomu v budoucnu pomůže. 🙈 Bavte se!