Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

243
Views
Kotlin, ¿cómo puedo leer un sitio web dinámico como texto?

Como se titula, estoy tratando de leer el contenido de sitios como este , que parece estar basado en javascript.

Intenté usar jdk lib simple, luego jsoup y luego htmlunit , pero no pude obtener nada útil (solo veo el código fuente o solo el título o null ):

 val url = URL("https://registry.terraform.io/providers/hashicorp/tls/latest/docs/data-sources/certificate") val connection = url.openConnection() val scanner = Scanner(connection.getInputStream()) scanner.useDelimiter("\\Z") val content = scanner.next() scanner.close() println(content) val doc = Jsoup.connect("https://registry.terraform.io/providers/hashicorp/tls/latest/docs/data-sources/certificate").get() println(doc.text()) WebClient().use { webClient -> val page = webClient.getPage<HtmlPage>("https://registry.terraform.io/providers/hashicorp/tls/latest/docs/data-sources/certificate") val pageAsText = page.asNormalizedText() println(pageAsText) } WebClient(BrowserVersion.FIREFOX).use { webClient -> val page = webClient.getPage<HtmlPage>("https://registry.terraform.io/providers/hashicorp/tls/latest/docs/data-sources/certificate") println(page.textContent) }

Debería ser algo fácil, pero no puedo ver qué está mal.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para que esto sea posible, necesita algo para ejecutar el JS que modifica el DOM.

Puede ser un poco exagerado según el caso de uso, y probablemente no sea posible si está en Android, pero una forma de hacerlo es iniciar un navegador sin cabeza por separado e interactuar con él desde su código. Por ejemplo, usando Chrome Headless y el Protocolo Chrome DevTools. Si está interesado, he escrito una biblioteca de Kotlin llamada chrome-devtools-kotlin para interactuar con un navegador Chrome de forma segura.

Sin embargo, puede haber opciones más simples. Por ejemplo, tal vez pueda ejecutar un navegador integrado en su lugar con JBrowserDriver y seguir usando JSoup para analizar el HTML, como se menciona en esta otra respuesta .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!