Herramientas de usuario

Herramientas del sitio


taller-web-scraping-hirikilabs:meneame-titulares

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
Última revisiónAmbos lados, revisión siguiente
taller-web-scraping-hirikilabs:meneame-titulares [2018/02/07 01:33] numerotecataller-web-scraping-hirikilabs:meneame-titulares [2018/02/07 16:42] – [Análisis de datos] numeroteca
Línea 1: Línea 1:
 ======= Ejemplo de script para extraer varias variables de meneame.net ======= ======= Ejemplo de script para extraer varias variables de meneame.net =======
  
-Código para extraer título de noticia, número de meneames número de clicks de las 20 primeras páginas de meneame.net y guardarlo en un fichero .csv:+Código para extraer título de noticia, número de meneamesnúmero de clicks, número de comentarios de las 10 primeras páginas de meneame.net y guardarlo en un fichero .csv:
  
 <code>import csv <code>import csv
Línea 7: Línea 7:
 from bs4 import BeautifulSoup from bs4 import BeautifulSoup
  
-outputpath = 'titulos.csv'+outputpath = "links.csv"
  
-with open(outputpath, 'w') as outfile:+with open(outputpath, "w") as outfile:
  
   writer = csv.writer(outfile)   writer = csv.writer(outfile)
-  for counter in range(1,20):+  for counter in range(1,10):
  
-    url = 'https://www.meneame.net/?page='+str(counter)+    url = "https://www.meneame.net/?page="+str(counter)
  
  # Get URL  # Get URL
Línea 27: Línea 27:
     for box in boxes:     for box in boxes:
                  
-      title = box.select('h2 a')[0].get_text().encode('utf-8').strip() +      title = box.select("h2 a")[0].get_text().encode("utf-8").strip() 
-      vote = box.select('.votes a')[0].get_text().encode('utf-8'+      vote = box.select(".votes a")[0].get_text().encode("utf-8"
-      click = box.select('.clics')[0].get_text().encode('utf-8').replace(clics''').lstrip()+      click = box.select(".clics")[0].get_text().encode("utf-8").replace(clics""").replace("  ", "").lstrip() 
 +      comment = box.select(".comments")[0].get_text().encode("utf-8").replace("comentarios", "").lstrip()
              
-      print title + vote + click +      #print comment 
-      writer.writerow([title,vote,click])</code>+      writer.writerow([title,vote,click,comment])</code>
  
 +===== Análisis de datos =====
  
 Análisis del resultado con Databasic.io: Análisis del resultado con Databasic.io:
-https://databasic.io/en/wtfcsv/results/5a7a45707088b48e0b1c5fa0?submit=true+ 
 +  * Palabras con más frecuencia, bigramas y trigramas: https://databasic.io/es/wordcounter/results/5a7a4a4f7088b48e0b1c5fa3 
 +  * Distribución de datos en columnas: https://databasic.io/en/wtfcsv/results/5a7a45707088b48e0b1c5fa0 
 + 
 + 
 +En R podemos hacer una rápida visualización para ver si hay correlaciones entre los valores numéricos: 
 + 
 +<code> 
 +meneame <- read.delim("links.csv",sep ",")  
 +plot(meneame) 
 + 
 +library(GGally) 
 +library("tidyverse"
 +ggpairs(meneame, 
 +        columns = c(2:4), 
 +        title = "buscando correlaciones",  
 +        # upper = list(continuous = "density"), 
 +        aes(alpha = 0.1)) 
 +</code> 
 + 
 +Esta es la visualicación que genera: 
 + 
 +{{:taller-web-scraping-hirikilabs:meneame-relaciones.png?400|}} 
 + 
 +Podemos ver los diagramas de dispersión que comparan las tres variables numéricas y los coeficientes de correlación calculados.
taller-web-scraping-hirikilabs/meneame-titulares.txt · Última modificación: 2018/02/07 16:45 por numeroteca