Expediente DDLR: Un Viaje Más Allá de lo Visual
Notice: Undefined variable: user in /var/www/ddlr/includes/blogs.php on line 270
Edit

Publicado el 28/08/2023 12:08:00 en Programación General.
Notice: Undefined variable: user in /var/www/ddlr/includes/blogs.php on line 270

Notice: Undefined variable: rango in /var/www/ddlr/includes/blogs.php on line 270

Notice: Undefined variable: rango in /var/www/ddlr/includes/blogs.php on line 270

Notice: Undefined variable: pais in /var/www/ddlr/includes/blogs.php on line 271

Notice: Undefined variable: user in /var/www/ddlr/includes/blogs.php on line 271

Notice: Undefined variable: user in /var/www/ddlr/includes/blogs.php on line 271

Author: [x][x] | Total de votos: 150   Vote



Saludos, compañeros de la red,

Hoy, mientras navegaba por los oscuros rincones de la web, me topé con el enigma que es DDLR. Sí, ese sitio que muchos conocemos y que, bueno, tiene un diseño que podría ser considerado un "Archivo X" en sí mismo. Me sentí un poco como Neo viendo el código de Matrix, pero sin la parte cool.

Así que, en lugar de simplemente cerrar la pestaña y seguir con mi vida, pensé: "¿Qué haría el agente Murder en esta situación?" Probablemente llamaría a Scully, pero yo no tengo ese lujo. En cambio, armé un pequeño script para extraer los titulares y enlaces de los blogs. No es la gran cosa, pero es mi pequeña contribución al misterio.



const axios = require('axios');
const cheerio = require('cheerio');
const fs = require('fs');

async function getBlogTitlesAndLinks(url) {
    try {
        const response = await axios.get(url);
        const html = response.data;
        const $ = cheerio.load(html);

        const titlesAndLinks = [];

        $('div[style*="text-overflow: ellipsis;"]').each((i, element) => {
            const title = $(element).find('a').text().trim().split('/n')[0];
            const link = 'https://www.diosdelared.com' + $(element).find('a').attr('href');
            titlesAndLinks.push({ title, link });
        });

        return titlesAndLinks;
    } catch (error) {
        console.error("Error scraping the website:", error);
    }
}

async function getPublicationYear(link) {
    try {
        const response = await axios.get(link);
        const html = response.data;
        const $ = cheerio.load(html);
        const publicationInfo = $('p.intro').text();
        const yearMatch = publicationInfo.match(/Publicado el /d{2}///d{2}//(/d{4})/);
        return yearMatch ? parseInt(yearMatch[1], 10) : null;
    } catch (error) {
        console.error("Error scraping the blog:", error);
    }
}

function escapeTitle(title) {
    return title.replace(/'/g, '//'');
}

async function createMarkdownFile() {
    let start = 0;
    let end = -20;
    let markdownContent = "# Dios de la Red Blogs (2023)/n/n";

    while (true) {
        end += 20;
        const url = 'https://www.diosdelared.com/?view=cblogs&art=on&start=${start + end}&end=${end}&genero=Todos&order=id';
        const titlesAndLinks = await getBlogTitlesAndLinks(url);

        if (titlesAndLinks.length === 0) {
            break;
        }

        let found2023InThisPage = false;
        for (let item of titlesAndLinks) {
            const year = await getPublicationYear(item.link);
            console.log(year);
            console.log(item.title);
            if (year === 2023) {
                found2023InThisPage = true;
                const escapedTitle = escapeTitle(item.title);
                markdownContent += '- [${escapedTitle}](${item.link})/n';
            } else if (found2023InThisPage && year !== 2023) {
                fs.writeFileSync('diosdelared_blogs_2023.md', markdownContent);
                console.log("Markdown file created: diosdelared_blogs_2023.md");
                return;
            }
        }
    }

    fs.writeFileSync('diosdelared_blogs_2023.md', markdownContent);
    console.log("Markdown file created: diosdelared_blogs_2023.md");
}

createMarkdownFile();


Ahora, cada vez que sintamos la curiosidad de explorar el sitio, podemos hacerlo sin el desafío visual que incluso cualquier agente encontraría desconcertante. Y si te sientes valiente, puedes probarlo. O simplemente realiza un par de modificaciones para que busque los días en los que estuviste ausente del archivo.

Mientras nos adentramos en los misterios, no puedo evitar pensar que en algún lugar, un tal "Murder" (¿o era Mulder?) nos observa con una sonrisa pícara, almacenando logs (perdón los) archivos ddlr. ¡Hasta que el destino (o un error de teclado) nos vuelva a unir!.


Comments:


[x]
[x][x] Zep7i (1 m) : 55996 Me encanta este misterioso post +1