¿Alguien ha hecho esto antes? Me parece que debería haber un servicio web pero no puedo encontrar uno. Estoy escribiendo una aplicación para uso personal que solo mostraría información básica de IMDB.Conexión a IMDB
Respuesta
No hay servicio web disponible.
¡Pero hay suficientes raspadores html escritos en todos los idiomas para satisfacer sus necesidades!
He usado el .NET 3.5 Imdb Services opensource project en algunos proyectos personales.
1 hora resultados de Google:
- Perl: IMDB-Film
- Ruby: libimdb-ruby
- Python: IMDbPY
La única "API" publica la IMDb es un conjunto de plain-text data files que contiene listas formateadas de actores, directores, películas, etc. Probablemente necesitarás escribir tu propio analizador a menos que alguien lo haya lanzado e para tu idioma Prueba las búsquedas de Google como "imdb api" y "imdb parser".
Un raspador pantalla podría ser útil, pero específicamente prohibit scrapers en sus condiciones de uso.
Es totalmente correcto sobre el hecho de que está prohibido el uso de raspadores, pero como es solo para uso personal, no lo haría un "espectáculo" tapón". –
IMDB prohíbe raspadores y cambia el diseño de página de vez en cuando, por lo que analizar HTML es una opción, pero prepárese para ajustar su código 2-3 veces al año (estado allí, hecho, abandonado). Tienen un servicio basado en tarifas que le da acceso completo a los datos, pero también tendrá que explicar para qué sirve y convencerlos de que no está creando un sitio web competitivo (tenía un enlace a eso, pero parece que haber cambiado y no poder encontrarlo ahora).
Hola, no entiendo por qué imdb no permite webscraping pero te dan acceso completo a su información completa? ¿Sabe usted la razón? Simplemente no tiene sentido porque el raspado web solo está obteniendo datos de su sitio que ya proporcionan. – hlim
Aquí es mi propia solución utilizando expresiones regulares:
private const string UglyMovieRegex = "(?<=5>|3>)(Cast|Director:|Fun\\sStuff|Genre:|Plot:|Runtime:|Tagline:|Writers:)"
+ "|href=\"[\\w\\d/]+?(Genres|name|character)/([\\w]+?)/\".*?>([.\\-\\s\\w]+)</a>"
+ "|(?<=h\\d>)([.\\w\\s'\\-\"]+)(?=<a\\sc|</d|\\|)";
Regex MovieData = new Regex (UglyMovieRegex, RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline);
TRYNT pesados Technologies proporciona (gratis) un servicio web para recuperar datos básicos IMDb - echa un vistazo a su sitio en http://www.trynt.com/trynt-movie-imdb-api/. También tienen un servicio separado para datos de televisión.
¿Trynt está muerto? Ya hace algunos días que no funciona. –
¡Sin suerte, servidor inactivo! – jv42
Otra alternativa es ejecutar la base de datos IMDB en su máquina local. Java Movie Database importa los archivos de la base de datos IMDB, los convierte y proporciona una copia de IMDB accesible localmente. IMDB tiene algunas funcionalidades que Java Movie Database no tiene y viceversa, pero si lo que está buscando es un acceso rápido a todos los datos, podría valer la pena intentarlo.
Las bibliotecas para IMDb parecen bastante poco fiable en la actualidad y altamente ineficiente. Realmente deseo IMDb simplemente crearía un servicio web.
Después de buscar un poco encontré una alternativa razonable al IMDb. Proporciona toda la información básica, como información general, años, clasificaciones, pósters, remolques, etc .:
Proporciona un servicio web con wrappers for several languages y parece fiable hasta ahora. Los resultados de búsqueda han sido, para mí, más precisos también.
Aunque esto fue publicada hace más de dos años, aquí es un simple código Python
import urllib2
movie_id = raw_input('Enter the ID of the movie: ')
json = urllib2.urlopen('http://imdbapi.com/?i=' + movie_id + '&r=json')
print json.read()
guardar como imdb.py y luego ejecutar como con cáscara o terminal o lo que sea
si desea que los datos XML simplemente reemplace json con xml
tenga en cuenta que esto está utilizando el sitio web imdbapi.com para devolver un resultado json visite ese sitio web para ver más opciones.
Ahora hay una API (indocumentada) como http://www.imdb.com/xml/find?json=1&q=Harry+Potter
. Ver Does IMDB provide an API?
- 1. IMDB a MySQL: inserte datos de IMDB en la base de datos MySQL
- 2. ¿Cómo obtener metadatos de películas de IMDB usando Java?
- 3. Python - Conexión a JDBC
- 4. Conexión a SoftHSM java
- 5. Conexión de conexión de punto en dbml a app.config
- 6. Agregar SSL a una conexión
- 7. Conexión a TFSPreview mediante programación
- 8. syncadapter sin conexión a Internet
- 9. Conexión a neo4j con ColdFusion
- 10. Conexión de MySQL a Dropbox
- 11. Error de conexión a Internet
- 12. Verificar conexión a internet activa
- 13. no se puede detectar la conexión a Internet con accesibilidad alcanzabilidad para la conexión a Internet
- 14. Conexión dbx separada a un hilo
- 15. Android: Establezca la conexión a Internet
- 16. conexión fluida entre las partes a trozos
- 17. Conexión del servidor Tomcat a Eclipse
- 18. Conexión EC2 a RDS usando Play framework
- 19. detectar si no hay conexión a Internet
- 20. Una conexión persistente con JDBC a MySQL
- 21. Cadena de conexión para conectar a .MDF
- 22. Conexión a smtp.live.com con la clase TcpClient
- 23. Conexión a Oracle DB usando Ruby
- 24. Acciones de conexión a botones en Xcode
- 25. Conexión con diferentes Proxies a direcciones específicas
- 26. Conexión a SQL Server con ActiveRecord
- 27. Conexión punto a punto de Torrent
- 28. Conexión a LDAP desde C# usando DirectoryServices
- 29. Conexión de flex/php a Active Directory
- 30. Simulación de conexión a Internet lenta
Gracias Estoy buscando esto para simplificar mi trabajo de proyecto en la universidad :) – nXqd