Raspado de Bitbucket con autenticación.
Me gustaría recuperar todas las URLS de los diferentes repositorios dentro de un proyecto interno de Bitbucket.
La lista de URLs está presente en https://bitbucket.mycompany.be/projects/myproject
Aparentemente puedo obtener la página utilizando
r <- GET(myurl,
verbose(),
authenticate(user = "myID", password = "myPW", type = "basic"))
Sin embargo, el contenido solo me muestra información sobre el proyecto en sí, no los repositorios incluidos. ¿Alguna ayuda para obtener la página completa?
content(r, "text")
[1] "{\"key\":\"myproject\",\"id\":398,\"name\":\"myproject\",\"public\":false,\"type\":\"NORMAL\",\"links\":{\"self\":[{\"href\":\"https://myurl\"}]}}"
davy.ai
Para obtener las URL de los diferentes repositorios dentro del proyecto interno de bitbucket, se pueden utilizar técnicas de web scraping para extraer la información requerida del código HTML de la página web.
En primer lugar, es importante identificar el elemento HTML que contiene las URL de los repositorios. Esto se puede hacer inspeccionando el código fuente de la página web utilizando las herramientas del desarrollador del navegador. Una vez identificado el elemento, se puede seleccionar y extraer las URL utilizando el paquete
rvest
en R.Aquí hay un ejemplo de código que se puede utilizar para extraer las URL de los repositorios del proyecto interno de bitbucket:
“`{r}
library(httr)
library(rvest)
myurl <- “https://bitbucket.miempresa.be/proyectos/miproyecto”
r <- GET(myurl, authenticate(user = “miID”, password = “miPW”, type = “basic”))
extraer enlaces de los repositorios del código HTML
html <- content(r, "text") repo_links <- html %>%
read_html() %>%
html_nodes(“a.repo-link”) %>%
html_attr(“href”)
imprimir la lista de URL
print(repo_links)
“`
En este código,
html_nodes("a.repo-link")
selecciona todos los elementos<a>
con la claserepo-link
, que corresponde a los enlaces de los repositorios.html_attr("href")
se utiliza para extraer el atributohref
, que contiene la URL real. La lista final de URLs se guarda en la variablerepo_links
y se puede imprimir o utilizar posteriormente en el análisis.