web-dev-qa-db-fra.com

Existe-t-il une API de diffusion de films?

Quelqu'un connaît-il des API prises en charge (de préférence gratuitement) pour accéder aux horaires des films par code postal?

Je ne crois pas que les API existantes, telles que netflix ou imdb, fournissent ces informations.

70
jhofman

lorsque "allow_url_fopen" est désactivé, utilisez

    <?php
/**
 * Google Showtime grabber
 * 
 * This file will grab the last showtimes of theatres nearby your zipcode.
 * Please make the URL your own! You can also add parameters to this URL: 
 * &date=0|1|2|3 => today|1 day|2 days|etc.. 
 * &start=10 gets the second page etc...
 * 
 * Please download the latest version of simple_html_dom.php on sourceForge:
 * http://sourceforge.net/projects/simplehtmldom/files/
 * 
 * @author Bas van Dorst <[email protected]>
 * @version 0.1 
 * @package GoogleShowtime
 *
 * @modifyed by stephen byrne <[email protected]>
 * @GoldMinelabs.com 
 */

require_once('simple_html_dom.php');

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'http://www.google.ie/movies?near=dublin');  
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);  
$str = curl_exec($curl);  
curl_close($curl);  

$html = str_get_html($str);

print '<pre>';
foreach($html->find('#movie_results .theater') as $div) {
    // print theater and address info
    print "Theate:  ".$div->find('h2 a',0)->innertext."\n";
    //print "Address: ". $div->find('.info',0)->innertext."\n";

    // print all the movies with showtimes
    foreach($div->find('.movie') as $movie) {
        print "Movie:    ".$movie->find('.name a',0)->innertext.'<br />';
        print "Time:    ".$movie->find('.times',0)->innertext.'<br />';
    }
    print "\n\n";
}

// clean up memory
$html->clear();
?>
16
ste_burn

Oui, Yahoo a apparemment supprimé son API de film secret en novembre 2009.
Il semble que tout le monde obtient ses données de TMS Data Direct: http://www.tmsdatadirect.com/

8
broox

Je ne sais pas si Google l'expose comme une API, mais cela ressemble beaucoup à ce que vous voulez. http://www.google.com/movies?hl=en&near=90210&dq=movie+times+90210&sa=X&oi=showtimes&ct=title&cd=1

7
toad

désolé, j'aurais dû chercher un peu plus avant de poster la question.

certains recherche créative sur del.icio.us a révélé un yahoo sans papiers! films api ( exemple d'appel api ).

à l'air cool.

2
jhofman

Je recherche moi aussi des horaires que je peux légitimement gratter et republier. Le son de Yahoo comme si vous ne le faites pas à des fins commerciales, ce n'est pas interdit ... ou peut-être que c'est un vœu pieux de ma part.

Vous vous engagez à ne pas reproduire, dupliquer, copier, vendre, échanger, revendre ou exploiter à des fins commerciales, toute partie ou utilisation ou accès à Yahoo! Prestations de service

1
MM.

Après avoir regardé un peu, j'ai trouvé que Dapper (open.dapper.net) était une excellente solution pour créer ce type de flux ...

Voici le flux que j'ai créé, qui prend un titre de film et un code postal comme paramètres. (la plupart des autres ne sont disponibles que par Zip)

http://www.dapper.net/dapp-howto-use.php?dappName=GoogleMoviesbynameANDzip

a mis environ 5 minutes à mettre en place ...

1
bitless

Fandango semble avoir des flux RSS qui vous permettent de rechercher des films près de chez vous.

http://www.fandango.com/rss/moviefeed

1
Samg

Je ne sais pas s'il est légal de supprimer le code HTML de cela, mais c'est la pseudo-API la plus propre que j'ai trouvée. http://opensocial.flixster.com/igoogle/showtimes?date=20111025&postal=23226 - il suffit de gratter le html avec quelque chose comme ...

$('div.showtime', response).each(function() {
   // ... process each showtime div
});
1
Ian Davis

Je suppose que votre meilleur pari là-dessus (à moins que ces gars-là aient des flux RSS) serait de gratter le HTML avec un langage qui prend en charge les expressions régulières.

Attention, c'est moche et chaque fois qu'ils changent leur code, le vôtre -pourrait-casser.

0
user54650

Je n'en trouve pas.

Vous pouvez essayer de gratter l'écran de Yahoo Movies: http://movies.yahoo.com/showtimes/movie?z=60630&date=20090113&mid=1810038822

z    = Zip code
date = year + month + day (as a string)
mid  = movieID, which you will have to grab from Yahoo Movies
0
EndangeredMassa

Je cherchais également une API de showtime, et comme vous, je n'ai pas trouvé de bonne API pour les séances de cinéma. J'ai décidé d'écrire ma propre "API showtime", basée sur Google Showtimes. Vérifie s'il te plaît.

C'est un simple script PHP, mais "il fait ce qu'il doit faire":

    <?php
/**
 * Google Showtime grabber
 * 
 * This file will grab the last showtimes of theatres nearby your zipcode.
 * Please make the URL your own! You can also add parameters to this URL: 
 * &date=0|1|2|3 => today|1 day|2 days|etc.. 
 * 
 * Please download the latest version of simple_html_dom.php on sourceForge:
 * http://sourceforge.net/projects/simplehtmldom/files/
 * 
 * @author Bas van Dorst <[email protected]>
 * @version 0.1 
 * @package GoogleShowtime
 */

require_once('simple_html_dom.phps');

$html = new simple_html_dom();
$html->load_file('http://www.google.nl/movies?mid=&hl=en&near=1400AB');

print '<pre>';
foreach($html->find('#movie_results .theater') as $div) {
    // print theater and address info
    print "Theate:  ".$div->find('h2 a',0)->innertext."\n";
    print "Address: ". $div->find('.info',0)->innertext."\n";

    // print all the movies with showtimes
    foreach($div->find('.movie') as $movie) {
        print "\tMovie:    ".$movie->find('.name a',0)->innertext.'<br />';
        print "\tTime:    ".$movie->find('.times',0)->innertext.'<br />';
    }
    print "\n\n";
}

// clean up memory
$html->clear();

?> 

Exemple: http: // code.basvd.nl/showtime_grabber_0.1/Google_showtime.php

Téléchargez simple_html_dom.php: http: // code.basvd.nl/showtime_grabber_0.1/

0
Bas van Dorst