Los cambios en IMDbPY y el formato de archivos de datos de IMDb significa que las respuestas existentes ya no funcionan (a partir de enero de 2018).
Estoy usando Ubuntu 17.10 y MariaDB 10.1 (no MySQL, pero el siguiente también funcionará con MySQL).
cambios a IMDbPY
La última versión de IMDbPY es de 6,2, que es implementado en Python 3, y se han eliminado las dependencias de gcc
y SQLObject
. Además, el paquete de Python MySQL-python
no está disponible para Python 3, por lo que instalamos mysqlclient
en su lugar; vea abajo. (La API de mysqlclient
es compatible con MySQL-python
.)
Los cambios en el formato de archivos de datos de IMDb
Los cambios en el formato de los archivos de datos de IMDb fueron introducidos en diciembre de 2017, y IMDbPY 6.2 (la versión actual) aún no funciona con el nuevo formato de archivo. (Consulte this número de GitHub).
Hasta que esto no se solucione, utilice la versión más reciente de los datos de IMDd publicados en el formato anterior, que está disponible en ftp://ftp.fu-berlin.de/pub/misc/movies/database/frozendata/. Descargue todos los archivos *.list.gz
(excluyendo los archivos de los subdirectorios).
nuevos pasos a seguir
instalar Python 3 y paquetes requeridos:
sudo apt install python3
pip3 install mysqlclient
En MariaDB, crear una base de datos imdb
, y otorgan todos los privilegios a user
con contraseña password
.
CREATE DATABASE imdb;
GRANT ALL PRIVILEGES ON imdb.* TO 'user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Obtener IMDbPY 6.2:
datos de IMDb wget https://github.com/alberanid/imdbpy/archive/6.2.zip
unzip 6.2.zip
cd imdbpy-6.2
python3 setup.py install
cargar en MariaDB:
cd bin
python3 imdbpy2sql.py -d [imdb_dataset_directory] -u 'mysql://user:[email protected]/imdb'
Editar: Versión 6.2 de IMDbPY no crea las claves externas. Ver this problema de GitHub. Tendrá que utilizar una versión anterior de IMDbPY si necesita crear claves externas, pero también hay problemas informados con la generación de claves externas en versiones antiguas (consulte el problema relacionado de GitHub).
Actualización: Tardó 4.5 horas para importar, y no tuve problemas para usar tablas InnoDB.
Editar: Si desea utilizar la versión 6.2 de IMDbPY y requiere claves externas, deberá agregarlas manualmente a la base de datos después de que se haya generado. Se requiere una cantidad muy pequeña de limpieza de los datos antes de poder agregar claves externas. Esta limpieza y las claves externas que deben agregarse se describen en el número this de GitHub.
Muchas gracias. Eso era justo lo que estaba buscando. Tomó aproximadamente 4 horas, pero ahora tengo una buena base de datos de 3GB con IMDB :-) – Mestika