カテゴリー
python

python で database クラスを作ってみる (Part 2)

今回はクラスの定義とデータベースに接続、開く、閉じるところまでやっています。
クラス名は SimpleDB 、ファイルを simpledb.py とします。

コンストラクタで接続情報を渡し、open 関数で接続、カーソルを変数に格納しておきます。
close 関数でカーソルを閉じ、接続を閉じます。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import MySQLdb
from collections import OrderedDict

class SimpleDB(object):
    __host       = None
    __user       = None
    __password   = None
    __database   = None
    __cursor    = None
    __connection = None

    def __init__(self, host, database, user, password):
        self.__host = host
        self.__database = database
        self.__user = user
        self.__password = password
    ## End def __init

    def open(self):
        con = MySQLdb.connect(self.__host, self.__user, self.__password, self.__database)
        self.__connection = con
        self.__cursor = con.cursor()
    ## End def open

    def close(self):
        self.__cursor.close()
        self.__connection.close()
    ## End def close
## End class

if __name__ == '__main__':
    dbconfig = {
        "host": "localhost",
        "database": "<your database>",
        "user": "<your username>",
        "password": "<your secure password>",
        }

    try:
        db = SimpleDB(dbconfig['host'], dbconfig['database'], dbconfig['user'], dbconfig['password'])

        db.open()
        db.close()
    except Exception as e:
        print e.args
カテゴリー
python

python で database クラスを作ってみる (Part 1)

python で Webクローラーをつくっているとどうしてもデータベースを参照、登録、更新が必要になります。MySQLにアクセスする方法少し楽して行えるように簡単なラッパークラスを作ってみたいと思います。

まずは、環境構築から。OS は CentOS7 です。データベースは mariadb をインストール済みです。
python は標準でインストールされている場合もありますが、念のため。

1. python 関連のインストール

# yum install python
# yum install python-devel
# yum install epel-release
# yum install python-pip
# yum install libxslt-devel libxml2-devel
# pip install beautifulsoup4
# pip install lxml

※ beautifulsoup4 はデータベースには必要はないですが、Webページを解析するのに必要なのでインストールしておきます。

2. MySql 関連のモジュールをインストール

# yum install gcc
# yum install mysql-devel
# pip install MySQL-python