loro chiamano via ajax un servizio wordpress
e nella response sta il filmato
ajax_url = '
http://www.guardaserie.net/wp-admin/admin-ajax.php';
questo è l url che chiamano
e nel payload(i parametri)
data =
{
action: 'get_episode',
id: id,
season: season,
episode : episode
};
non puoi usare la loro funzione javascript poiché sembra che valorizzino il contenuto di un tag html
puoi chiamare il servizio
devi debellare con firebug e vedere cosa mettono nel data
una volta capito da dove prendono i dati puoi chiamare il servizio.
dammi un minuto*
per questo reverse engineering
ti consiglio 2 strumenti
firebug per firefox
advancedRestClient per chrome
firebug ti fa vedere tutto quello che avviene nei javascript, chiamate
e può anche fare il debug
AdvancedRestClient invece ti permette di fare delle chiamate arbitrarie per vedere se funzionano Emoticon grin
*ho estrapolato i parametri con firebug
ho cliccato per esempio su un episodio di vampire diaries
questi sono i parametri che ha mandato
devi capire solo chi chiama la funzione get_episode e farti un minimo mapping interno.
però...
questo servizio non restituisce dati ma direttamente html
Código: Seleccionar todo
"<center><IFRAME SRC=\"http://www.rapidvideo.org/embed-lg4lhfq8qezv-607x360.html\" FRAMEBORDER=0 allowfullscreen=\"true\" SCROLLING=NO WIDTH=607 HEIGHT=360></IFRAME></center>"
a valle, devi farti un parsing
e vedere come mandare in play questi vari video che stanno su altri hosting
dovrebbe essere fattibilissimo, sto provando a replicare la chiamata
i campi sembrano esatti
content-type text/html
bisogna vedere se quel servizio accetta connessione solo da localhost cioè da se stesso e non da fuori
male che vada se l'hanno blindato
buttagli la richiesta alla pagina e non alla funzione php
e fai un parsing a valle del video embeddato che sparano
dovesti usare
re.compile
per parcellizzare velocemente in python
questi sono gli headers
Código: Seleccionar todo
CF-RAY
20ca5f5ab9af0e12-MXP
Cache-Control
no-cache
Connection
keep-alive
Content-Encoding
gzip
Content-Type
text/html; charset=UTF-8
Date
Mon, 27 Jul 2015 18:22:55 GMT
Expires
Mon, 27 Jul 2015 18:22:54 GMT
Pragma
no-cache
Server
cloudflare-nginx
Transfer-Encoding
chunked
Vary
Accept-Encoding
X-Content-Type-Options
nosniff
X-Powered-By
PHP/5.3.3
X-Robots-Tag
noindex
x-frame-options
SAMEORIGIN
l' ultimo tag x-frame-options
https://developer.mozilla.org/en-US/doc ... me-Options
usano cloudflare e autorizzano solo chiamate da se stesso
il javascript mandalo a fare in c*lo
fai la webrequest
e re.compile a manetta
sarà più macchinoso e dovrai cambiarlo più spesso ma mi sa che è l' unico modo
a meno che riesci a trovare il meccanismo di autenticazione
qualche magagna starà tipo cookies
e roba del genere...
comunque si, vogliono un cookie
visto che richiedi le altre pagine, sicuramente lo puoi ricavare
questi sono i parametri di request
Código: Seleccionar todo
Accept
*/*
Accept-Encoding
gzip, deflate
Accept-Language
en-US,en;q=0.5
Cache-Control
no-cache
Connection
keep-alive
Content-Length
46
Content-Type
application/x-www-form-urlencoded; charset=UTF-8
Cookie
__cfduid=d31e3304fc26863839e398f3b6cdbf29e1438021131; __utma=177063987.575911734.1438021132.1438021132
.1438021132.1; __utmb=177063987.6.10.1438021132; __utmc=177063987; __utmz=177063987.1438021132.1.1.utmcsr
=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1
Host
www.guardaserie.net
Pragma
no-cache
Referer
http://www.guardaserie.net/the-vampire-diaries-info/
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0
X-Requested-With
XMLHttpRequest
gli headers importanti sono Referrer, Pragma,Cookie
se riesci a mandarglieli insieme alla richiesta ti da il risultato per bene