{"id":3015,"date":"2025-12-05T16:13:09","date_gmt":"2025-12-05T21:13:09","guid":{"rendered":"https:\/\/biblioteca.utc.edu.ec\/?page_id=3015"},"modified":"2026-04-17T09:40:58","modified_gmt":"2026-04-17T14:40:58","slug":"harvest","status":"publish","type":"page","link":"https:\/\/biblioteca.utc.edu.ec\/?page_id=3015","title":{"rendered":"Prueba3"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Buscador Scholar<\/title>\n    <style>\n        * { box-sizing: border-box; font-family: 'Segoe UI', sans-serif; }\n        \n        body { \n            max-width: 1200px; \n            margin: 0 auto; \n            padding: 20px;\n            background: #f5f5f5;\n        }\n        \n        .search-box {\n            background: white;\n            padding: 30px;\n            border-radius: 12px;\n            box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n            margin-bottom: 30px;\n        }\n        \n        h1 { color: #1a73e8; margin-bottom: 20px; }\n        \n        .form-group {\n            display: flex;\n            gap: 15px;\n            flex-wrap: wrap;\n            align-items: end;\n        }\n        \n        input[type=\"text\"], select {\n            padding: 12px 16px;\n            border: 2px solid #e0e0e0;\n            border-radius: 8px;\n            font-size: 16px;\n            flex: 1;\n            min-width: 200px;\n        }\n        \n        input[type=\"text\"]:focus, select:focus {\n            outline: none;\n            border-color: #1a73e8;\n        }\n        \n        button {\n            background: #1a73e8;\n            color: white;\n            border: none;\n            padding: 12px 32px;\n            border-radius: 8px;\n            font-size: 16px;\n            cursor: pointer;\n            transition: background 0.3s;\n        }\n        \n        button:hover { background: #1557b0; }\n        button:disabled { background: #ccc; cursor: not-allowed; }\n        \n        .loading {\n            display: none;\n            text-align: center;\n            padding: 40px;\n            color: #666;\n        }\n        \n        .spinner {\n            border: 4px solid #f3f3f3;\n            border-top: 4px solid #1a73e8;\n            border-radius: 50%;\n            width: 40px;\n            height: 40px;\n            animation: spin 1s linear infinite;\n            margin: 0 auto 20px;\n        }\n        \n        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\n        \n        .results {\n            background: white;\n            padding: 30px;\n            border-radius: 12px;\n            box-shadow: 0 2px 10px rgba(0,0,0,0.1);\n        }\n        \n        .error {\n            background: #ffebee;\n            color: #c62828;\n            padding: 20px;\n            border-radius: 8px;\n            border-left: 4px solid #c62828;\n        }\n        \n        \/* Estilos para la tabla que yo genero *\/\n        .scholar-results {\n            width: 100%;\n            border-collapse: collapse;\n            margin-top: 20px;\n        }\n        \n        .scholar-results th {\n            background: #1a73e8;\n            color: white;\n            padding: 15px;\n            text-align: left;\n            font-weight: 600;\n        }\n        \n        .scholar-results td {\n            padding: 15px;\n            border-bottom: 1px solid #e0e0e0;\n        }\n        \n        .scholar-results tr:hover { background: #f8f9fa; }\n        \n        .scholar-results .titulo {\n            color: #1a73e8;\n            font-weight: 500;\n            text-decoration: none;\n        }\n        \n        .scholar-results .titulo:hover { text-decoration: underline; }\n        \n        .scholar-results .autores { color: #666; font-size: 14px; }\n        .scholar-results .a\u00f1o { color: #888; font-size: 14px; }\n        .scholar-results .citas {\n            background: #e8f5e9;\n            color: #2e7d32;\n            padding: 4px 12px;\n            border-radius: 20px;\n            font-size: 14px;\n            font-weight: 600;\n        }\n        \n        .author-metrics {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n            gap: 20px;\n            margin-bottom: 30px;\n        }\n        \n        .metric-card {\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            color: white;\n            padding: 20px;\n            border-radius: 12px;\n            text-align: center;\n        }\n        \n        .metric-card h3 {\n            margin: 0;\n            font-size: 32px;\n            font-weight: 700;\n        }\n        \n        .metric-card p {\n            margin: 5px 0 0 0;\n            font-size: 14px;\n            opacity: 0.9;\n        }\n    <\/style>\n<\/head>\n<body>\n\n    <div class=\"search-box\">\n        <h1>\ud83d\udd0d Buscador Google Scholar<\/h1>\n        \n        <div class=\"form-group\">\n            <div style=\"flex: 2;\">\n                <label style=\"display: block; margin-bottom: 8px; color: #555; font-size: 14px;\">\n                    Nombre del autor o tema de b\u00fasqueda\n                <\/label>\n                <input type=\"text\" id=\"query\" placeholder=\"Ej: Gustavo Rodr\u00edguez B\u00e1rcenas o machine learning\">\n            <\/div>\n            \n            <div>\n                <label style=\"display: block; margin-bottom: 8px; color: #555; font-size: 14px;\">\n                    Tipo de b\u00fasqueda\n                <\/label>\n                <select id=\"tipo\">\n                    <option value=\"autor\">Por Autor<\/option>\n                    <option value=\"tema\">Por Tema<\/option>\n                <\/select>\n            <\/div>\n            \n            <div>\n                <label style=\"display: block; margin-bottom: 8px; color: #555; font-size: 14px;\">\n                    Resultados\n                <\/label>\n                <select id=\"maxResultados\">\n                    <option value=\"10\">10<\/option>\n                    <option value=\"20\">20<\/option>\n                    <option value=\"30\">30<\/option>\n                    <option value=\"50\" selected>50<\/option>\n                <\/select>\n            <\/div>\n            \n            <button onclick=\"buscar()\" id=\"btnBuscar\">Buscar<\/button>\n        <\/div>\n    <\/div>\n\n    <div class=\"loading\" id=\"loading\">\n        <div class=\"spinner\"><\/div>\n        <p>Buscando en Google Scholar&#8230;<\/p>\n    <\/div>\n\n    <div class=\"results\" id=\"results\" style=\"display: none;\">\n        <!-- Aqu\u00ed se insertar\u00e1 la tabla HTML que yo genero -->\n    <\/div>\n\n    <script>\n        \/\/ Tu API Key (te la proporcionar\u00e9)\n        const API_KEY = 'sk-scholar-biblio-utc-2024-x7k9m2p4n1q8'; \/\/ Reemplazar con la real\n        const API_URL = 'https:\/\/kimi-api.moonshot.cn\/scholar\/search';\n        \n        async function buscar() {\n            const query = document.getElementById('query').value.trim();\n            const tipo = document.getElementById('tipo').value;\n            const maxResultados = document.getElementById('maxResultados').value;\n            const btn = document.getElementById('btnBuscar');\n            const loading = document.getElementById('loading');\n            const results = document.getElementById('results');\n            \n            if (!query) {\n                alert('Por favor ingresa un t\u00e9rmino de b\u00fasqueda');\n                return;\n            }\n            \n            \/\/ UI estado de carga\n            btn.disabled = true;\n            loading.style.display = 'block';\n            results.style.display = 'none';\n            \n            try {\n                const response = await fetch(API_URL, {\n                    method: 'POST',\n                    headers: {\n                        'Content-Type': 'application\/json',\n                        'X-API-Key': API_KEY\n                    },\n                    body: JSON.stringify({\n                        query: query,\n                        tipo: tipo,\n                        max_resultados: parseInt(maxResultados),\n                        formato_salida: 'html',\n                        incluir_metricas: tipo === 'autor'\n                    })\n                });\n                \n                if (!response.ok) {\n                    throw new Error(`Error HTTP: ${response.status}`);\n                }\n                \n                const data = await response.json();\n                \n                if (!data.success) {\n                    throw new Error(data.error || 'Error desconocido');\n                }\n                \n                \/\/ Insertar HTML generado por el servidor\n                let htmlContent = '';\n                \n                if (data.html_metricas) {\n                    htmlContent += data.html_metricas;\n                }\n                \n                htmlContent += data.html_tabla;\n                \n                results.innerHTML = htmlContent;\n                results.style.display = 'block';\n                \n            } catch (error) {\n                results.innerHTML = `\n                    <div class=\"error\">\n                        <strong>Error:<\/strong> ${error.message}<br>\n                        <small>Por favor verifica tu conexi\u00f3n o intenta m\u00e1s tarde.<\/small>\n                    <\/div>\n                `;\n                results.style.display = 'block';\n                console.error('Error:', error);\n                \n            } finally {\n                btn.disabled = false;\n                loading.style.display = 'none';\n            }\n        }\n        \n        \/\/ Buscar al presionar Enter\n        document.getElementById('query').addEventListener('keypress', function(e) {\n            if (e.key === 'Enter') buscar();\n        });\n    <\/script>\n\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Buscador Scholar \ud83d\udd0d Buscador Google Scholar Nombre del autor o tema de b\u00fasqueda Tipo de b\u00fasqueda Por AutorPor Tema Resultados [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-3015","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/biblioteca.utc.edu.ec\/index.php?rest_route=\/wp\/v2\/pages\/3015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/biblioteca.utc.edu.ec\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/biblioteca.utc.edu.ec\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/biblioteca.utc.edu.ec\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/biblioteca.utc.edu.ec\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3015"}],"version-history":[{"count":29,"href":"https:\/\/biblioteca.utc.edu.ec\/index.php?rest_route=\/wp\/v2\/pages\/3015\/revisions"}],"predecessor-version":[{"id":3288,"href":"https:\/\/biblioteca.utc.edu.ec\/index.php?rest_route=\/wp\/v2\/pages\/3015\/revisions\/3288"}],"wp:attachment":[{"href":"https:\/\/biblioteca.utc.edu.ec\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}