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 anterior Revisión previa
Próxima revisión
Revisión previa
taller-web-scraping-hirikilabs:meneame-titulares [2018/02/07 01:40]
numeroteca
taller-web-scraping-hirikilabs:meneame-titulares [2018/02/07 16:45] (actual)
numeroteca [Análisis de datos]
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.1517964042.txt.gz · Última modificación: 2018/02/07 01:40 por numeroteca