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, 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 de datos

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.