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

Próxima revisión
Revisión previa
taller-web-scraping-hirikilabs:meneame-titulares [2018/02/07 01:32]
numeroteca creado
taller-web-scraping-hirikilabs:meneame-titulares [2018/02/07 16:45] (actual)
numeroteca [Análisis de datos]
Línea 1: Línea 1:
-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:+======= Ejemplo de script para extraer varias variables de meneame.net ======= 
 + 
 +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 5: 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 25: 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) 
 + 
 +# 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.1517963547.txt.gz · Última modificación: 2018/02/07 01:32 por numeroteca