Pensé acerca de Twitter y los hashtags...no sería interesánte escribir un script en PhantomJS para hacer un web scrape en Twitter y obtener todos los hashtags que he usado?
Para este script en particular...Estoy tomando los hashtags de las primeras 5 páginas de Twitter que están enlazadas a mi perfil...
Hashtags.js |
---|
var system = require('system'); var webpage = require('webpage').create(); webpage.viewportSize = { width: 1280, height: 800 }; webpage.scrollPosition = { top: 0, left: 0 }; var userid = system.args[1]; var profileUrl = "http://www.twitter.com/" + userid; webpage.open(profileUrl, function(status) { if (status === 'fail') { console.error('webpage did not open successfully'); phantom.exit(1); } var i = 0, top, queryFn = function() { return document.body.scrollHeight; }; setInterval(function() { top = webpage.evaluate(queryFn); i++; webpage.scrollPosition = { top: top + 1, left: 0 }; if (i >= 5) { var twitter = webpage.evaluate(function () { var twitter = []; forEach = Array.prototype.forEach; var tweets = document.querySelectorAll('[data-query-source="hashtag_click"]'); forEach.call(tweets, function(el) { twitter.push(el.innerText); }); return twitter; }); twitter.forEach(function(t) { console.log(t); }); phantom.exit(); } }, 3000); }); |
Si lo ejecutamos...vamos a tener el siguiente resultado...
Ahora...que es lo que quiero hacer con esta información...enviarla a Julia...y obtener los hashtags más usados...así que voy a sumarizarlos y luego deshacerme de los que solo aparecen una vez...
Veamos el código en Julia...
Twitter_Hashtags.jl |
---|
tweets = readall(`phantomjs --ssl-protocol=any Hashtags.js Blag`) tweets = split(tweets,"\n") hashtags = Dict() for hash in tweets try hashtags[hash] += 1 catch e hashtags[hash] = 1 end end filter!((k,v)->v>1,hashtags) for (k,v) in hashtags println("$k has been mentioned $v times") end |
Si lo ejecutamos...vamos a tener el siguiente resultado...
Todavía no se como ordenar diccionarios en Julia...así que tenganme paciencia -:)
En fín...viendo el resultado...podemos tener mis top 3 hashtags -;)
#LeapMotion ==> 14 veces
#Flare3D ==> 11 veces
#DevHangout ==> 8 veces
Espero que les haya gustado y nos vemos la próxima vez -:)
Saludos,
Blag.
Development Culture.
No comments:
Post a Comment