首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IMDB to MySQL:在MySQL数据库中插入IMDB数据

IMDB to MySQL:在MySQL数据库中插入IMDB数据
EN

Stack Overflow用户
提问于 2011-08-30 21:53:39
回答 4查看 19.7K关注 0票数 7

我正在寻找一种解决方案,将所有的IMDB数据导入到我自己的MySQL数据库中。我已经从他们的主页上下载了所有的IMDB数据文件,这些文件都是*.list格式的(在Windows中)。

我想要检索这些信息并将其正确地插入到我的MySQL数据库中,这样我就可以执行一些测试和查询搜索。

我遵循了一个指南,但大约一半的人意识到它是2004年的指南,现在的工作方式与七年前的工具不太协调。

我在网上浏览过应用程序、php脚本、python脚本之类的东西,但都没有找到解决方案。IMDB本身引用的W32工具也不起作用。

有没有人知道解决方案或方法来完成这个任务?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-30 22:04:08

有一些nice py script,巫师帮了我。只需建立连接并运行它。~1小时来解决所有问题。

编辑:使用this readme file制作脚本。

票数 6
EN

Stack Overflow用户

发布于 2018-02-12 09:21:52

对IMDbPY和IMDb数据文件格式的更改意味着现有答案不再有效(从2018年1月起)。

我使用的是Ubuntu17.10和MariaDB 10.1 (不是MySQL,但下面的代码也适用于MySQL)。

对IMDbPY的更改

IMDbPY的最新版本是6.2,它是在Python3中实现的,并且已经删除了对gccSQLObject的依赖。此外,Python包MySQL-python不适用于Python3,因此我们改为安装mysqlclient;请参见下文。( mysqlclient接口兼容MySQL-python)

更改为IMDb数据文件格式

2017年12月引入了对IMDb数据文件格式的更改,IMDbPY 6.2 (当前版本)尚未使用新的文件格式。(请参阅this GitHub问题。)

在此问题得到解决之前,请使用以旧格式发布的最新版本的IMDd数据,该格式可从ftp://ftp.fu-berlin.de/pub/misc/movies/database/frozendata/获得。下载所有*.list.gz文件(子目录中的文件除外)。

遵循新步骤

  1. 安装Python3和所需的软件包:

sudo apt install mysqlclient

  • In python3 pip3 install sudo MariaDB,创建数据库imdb,并使用密码password将所有权限授予user

CREATE DATABASE imdb;将imdb.*上的所有权限授予由‘password’标识的'user'@'localhost‘;刷新PRIVILEGES;

  • Get IMDbPY 6.2:

wget https://github.com/alberanid/imdbpy/archive/6.2.zip unzip 6.2.zip cd imdbpy-6.2 python3 setup.py install

  • Load IMDb data into MariaDB:

cd bin python3 imdbpy2sql.py -d imdb_dataset_directory -u cd

编辑: IMDbPY 6.2版本不创建外键。请参阅this GitHub问题。如果您需要创建外键,则需要使用旧版本的IMDbPY,但在旧版本中也存在生成外键的问题(请参阅链接的GitHub问题)。

更新:它花了4.5个小时导入,我使用InnoDB表没有问题。

编辑:如果希望使用6.2版本的IMDbPY并需要外键,则需要在生成数据库后手动将其添加到数据库中。在添加外键之前,需要对数据进行非常少量的清理。此清理和需要添加的外键在this GitHub issue中进行了说明。

票数 2
EN

Stack Overflow用户

发布于 2017-04-07 09:08:06

在ubuntu上

1)安装所有需要的包。

代码语言:javascript
复制
sudo apt-get install -y gcc python python-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev python-setuptools python-pip
easy_install -U SQLObject
pip install MySQL-python

2)安装IMDBPY。

代码语言:javascript
复制
cd [IMDBPY_parent_directory]
wget http://prdownloads.sourceforge.net/imdbpy/IMDbPY-5.1.tar.gz
tar -xzf IMDbPY-5.1.tar.gz
cd IMDbPY-5.1
python setup.py install

3)在mysql中,创建一个数据库imdb,并将所有权限授予user,密码为password。

代码语言:javascript
复制
CREATE DATABASE imdb;
GRANT ALL PRIVILEGES ON imdb.* TO 'user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

4)下载所有IMDB数据。

代码语言:javascript
复制
mkdir [imdb_data_directory]
cd [imdb_data_directory]
wget -r --accept="*.gz" --no-directories --no-host-directories --level 1 ftp://ftp.fu-berlin.de/pub/misc/movies/database/

5)将IMDB数据加载到mysql中(使用myisam作为存储引擎)。

代码语言:javascript
复制
cd [IMDBPY_parent_directory]/IMDbPY-5.1/bin
python imdbpy2sql.py -d [imdb_data_directory] -u
'mysql://user:password@localhost/imdb' --mysql-force-myisam

从"Import IMDb Data Set from Plain Text Files To MySQL Database“借来的,有一些次要的修复。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7244339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档