Есть ли API-интерфейс Showtime?

65

Кто-нибудь знает о любом (предпочтительном) поддерживаемом api для доступа к фильмам по zip-коду?

Я не считаю, что какие-либо существующие api, такие как netflix или imdb, предоставляют эту информацию.

  • 2
    Кто-нибудь публикует фактический API для этого, например, веб-сервис? Я бы не хотел делать скрининг экрана. Мне бы очень хотелось написать приложение для телефона или ipad с временной шкалой, показывающей, какие фильмы будут воспроизводиться в ближайшие 2 часа. Ни одна веб-страница не показывает это таким образом, и, как правило, я хочу это видеть. "Какие шоу я могу увидеть в ближайшие пару часов?" Я хотел бы написать приложение, если смогу получить данные. Какие-либо ведет? JR
Теги:
movies

13 ответов

15

когда "allow_url_fopen" отключен, используйте

    <?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();
?>
  • 0
    ты герой дня! Большое спасибо!
  • 0
    Серьезно, +10, если бы я мог! очень плохо, что у Google нет публичного API для этого :)
Показать ещё 3 комментария
8

Да, Yahoo, видимо, сняла свой секретный API фильмов в ноябре 2009 года.
Кажется, каждый получает данные от TMS Data Direct: http://www.tmsdatadirect.com/

  • 1
    @Brook При регистрации на tmsdatadirect.com запрашивается код сертификата. Какое значение следует указать при регистрации?
  • 0
    Этот недокументированный API-интерфейс YAHOO, упомянутый выше, был великолепен ... Я использовал его некоторое время ... к сожалению, YAHOO только что заставил его исчезнуть (после 04.11.09) ... без некоторого разрешения YAHOO ... и не похоже, что они выдают это! :( (Я надеюсь, что другая идея выше работает для меня) - Томас
Показать ещё 3 комментария
7

Не знаю, раскрывает ли Google его как api, но это очень похоже на то, что вы хотите. http://www.google.com/movies?hl=en&near=90210&dq=movie+times+90210&sa=X&oi=showtimes&ct=title&cd=1

  • 0
    спасибо за предложение. я уже реализовал скрэтч экрана с этим с помощью Beautifulsoup в Python. но я хотел бы избежать использования этого в долгосрочной перспективе, так как это явно противоречит их условиям обслуживания. следовательно, поиск поддерживаемых / документированных API.
2

Извините, вам следовало бы поискать немного больше, прежде чем публиковать вопрос.

некоторый творческий поиск на del.icio.us показал недокументированную yahoo! фильмы api (пример api-вызова).

выглядит хорошо.

  • 0
    Больше не работает.
1

Я тоже ищу сеансы, которые я могу законно очистить и переиздать. Yahoo звук нравится, если вы не делаете это в коммерческих целях, это не запрещено... или, может быть, это принятие желаемого за действительное с моей стороны.

Вы соглашаетесь не воспроизводить, не дублировать, копировать, продавать, продавать, перепродавать или эксплуатировать для любых коммерческих целей, любой или использования или доступа к Yahoo! Услуги

1

Осмотрев немного, я нашел Dapper (open.dapper.net) отличным решением для создания этого типа фида...

Вот фид, который я сделал, который принимает название фильма и почтовый индекс в качестве параметров. (большинство других доступно только в ZIP-архиве)

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

потребовалось около 5 минут для настройки...

  • 3
    Канал был заблокирован Google и больше не доступен здесь
0

Не уверен, что это право очистить html от этого, но это самый чистый псевдо-API, который я нашел. http://opensocial.flixster.com/igoogle/showtimes?date=20111025&postal=23226 - просто очистите html чем-то вроде...

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

У Fandango есть RSS-каналы, которые позволяют вам искать фильмы рядом с вами.

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

0

Я также искал API showtime, и, как и вы, я не нашел хорошего API для сеансов фильмов. Я решил написать собственный "API-интерфейс showtime", основанный на Google Showtimes. Пожалуйста, проверьте это.

Это простой PHP- script, но "он делает то, что он должен делать":

    <?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();

?> 

Пример: http://code.basvd.nl/showtime_grabber_0.1/Google_showtime.php

Загрузить simple_html_dom.php: http://code.basvd.nl/showtime_grabber_0.1/

  • 9
    Имейте в виду, что, хотя он действительно извлекает контент Google, он полностью противоречит Условиям использования Google. Используйте с осторожностью.
0

Я не могу найти его.

Вы можете попробовать скриншоты экрана из 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

Я предполагаю, что ваша лучшая ставка на это (если только эти ребята не имеют RSS-каналов) - это очистить HTML с помощью языка, который поддерживает регулярные выражения.

Имейте в виду, что это уродливо и каждый раз, когда они меняют свой код, ваш - может быть разорван.

  • 1
    к сожалению ни у кого из них нет rss. Соскоб не плохо с приличным анализатором HTML. но меня больше беспокоит нарушение условий обслуживания, чем необходимость периодически обновлять код.
-1

Я знаю, что это немного устарело. Я не думаю, что для этого есть api, но некоторые провайдеры предлагают эту услугу. Я предлагаю вам взглянуть на West World Media.

-3
http://www.google.com/ig/api?movies=YOUR_ZIP_HERE

Спасибо Нику. что ссылка, которую я буду использовать.

  • 0
    это не работает
  • 0
    просмотреть источник в вашем браузере после того, как вы вставите его (измените его) и нажмете ввод. там есть объект xml с детьми и вашим списком фильмов. если вы ничего не видите, проверьте на ошибки.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню