Código para extraer título de noticia, número de meneames, número de clicks, número de comentarios de las 10 primeras páginas de meneame.net y guardarlo en un fichero .csv:
import csv import urllib2 from bs4 import BeautifulSoup outputpath = "links.csv" with open(outputpath, "w") as outfile: writer = csv.writer(outfile) for counter in range(1,10): url = "https://www.meneame.net/?page="+str(counter) # Get URL response = urllib2.Request(url) pagedata = urllib2.urlopen(response) html = pagedata.read() # Get links soup = BeautifulSoup(html, "html.parser") boxes = soup.select(".news-body") for box in boxes: title = box.select("h2 a")[0].get_text().encode("utf-8").strip() vote = box.select(".votes a")[0].get_text().encode("utf-8") 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 comment writer.writerow([title,vote,click,comment])
Análisis del resultado con Databasic.io:
En R podemos hacer una rápida visualización para ver si hay correlaciones entre los valores numéricos:
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))
Esta es la visualicación que genera:
Podemos ver los diagramas de dispersión que comparan las tres variables numéricas y los coeficientes de correlación calculados.