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
taller-web-scraping-hirikilabs:meneame-titulares [2018/02/07 01:40] numerotecataller-web-scraping-hirikilabs:meneame-titulares [2018/02/07 16:45] (actual) – [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 de datos =====
Línea 41: Línea 42:
   * Distribución de datos en columnas: https://databasic.io/en/wtfcsv/results/5a7a45707088b48e0b1c5fa0   * 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)
 +
 +# CArga las librerías. Si no las tienes insaltaladas tienes que instalaras con ''installed.packages("GGally)''
 +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