SQliteでDBを用意していきます。
これはスクレイピング時に、このURLって処理したかな?とか、連続でURLを処理していく時にフラグを立てて、やったやってないを判定するのに使っています。
【Python】非プログラマーのためのスクレイピング講座目次(Colaboratory)
注意
私は、別に綺麗にプログラムを書けるわけでも、知識豊富なわけでもありません。
このコンテンツは、気軽に触って学べれば、あとは自分で頑張るって人を応援するコンテンツです。
Colaboratoryを使って環境構築や個々人の環境の差をなくしています。
Colaboratoryは速いです。
SQLite?(適当解説)
データベースを作る際に、お勤めの会社ではおそらくDBサーバを立てていると思います。
これはアプリという単位でお手軽です。
実際にスマホアプリでも使います。
SQLiteのライセンスはパブリックドメインになっており、利用に際しライセンス問題は意識せず利用できます。
DB作る前に
ColaboratoryとGoogle Driveを連携します。
ドライブをマウント(読み込んで)して、そのフォルダにDBファイルを格納します。
以下の場合は、Google Drive直下のColab Notebooksフォルダの中のsampleフォルダをマウント。
from google.colab import drive drive.mount('/content/drive/') %cd "/content/drive/My Drive/Colab Notebooks/sample/"
DB作る魔法の言葉
魔法の言葉。
import sqlite3
DB作る関数
適当に関数作っておく。
この場合は、URLというデータの列が常にかぶりのないユニークな値になり、タイトルはサイトタイトル、フラグは処理したしないのフラグなどに使います。
テーブル名の指定で変数を使いたい時に、いろいろやりかたはありますが、以下は例のひとつ。
def db_make(db_name,table_name): conn = sqlite3.connect(db_name) cur = conn.cursor() cur.execute("CREATE TABLE IF NOT EXISTS %s (URL unique,title,flag)" % table_name) conn.commit() conn.close()
DBのテーブルをチェックする関数
適当に関数作っておく。
私のように常軌を逸したぼーっとした人だと、適当な名前でテーブル名を作ってしまい、DB内が散らかります。
そのため、DB内のテーブル一覧を出力できる関数を常に用意しています。
クライアントも間違うこともあるので、納品物に入れておくと便利だった。
def db_tb_check(db_name,table_name): conn = sqlite3.connect(db_name) cur = conn.cursor() cur.execute("select name from sqlite_master where type='table'") for x in cur.fetchall(): print(x) conn.close()
DBのテーブルを削除する関数
絶対に間違えて実行しないように。
def db_deldel(db_name,table_name): conn = sqlite3.connect(db_name) cur = conn.cursor() cur.execute('DROP TABLE {}'.format(table_name)) conn.commit() conn.close()
DB名(ファイル名)とテーブル名を決める入力欄を用意
#DB作成 db_name = "mkp_sample.db"#@param {type:"string"} table_name = "mkp_01_tb"#@param {type:"string"}
各プログラムの実行方法
db_make(db_name,table_name) db_tb_check(db_name,table_name) db_deldel(db_name,table_name)
実際の運用はClass化して別ファイルにしています。
しかし、テスト時はClassファイルの更新後の読み込みに不具合が出ることがあるため、直接書いたりします。
※リロードしてもダメな時がごくたまにある

合同会社ムジンケイカプロ
SEO・サイト改善・業務効率支援
成果率と検索に強いホームページ制作・運用改善のご相談を承っています。
法人クライアントとの契約多数、WEB制作会社やIT専門人材との協業、サイト保守・運用まで幅広く対応しています。
(2025年7月現在)
-
ランサーズ実績:238件/評価191件(★5.0)/完了率99%/リピーター29人
-
ココナラ実績:販売実績66件/評価★5.0
サイト改善・集客最適化まで、一貫してお任せいただけます。
当サイトはリンクフリーです
引用・SNSでの共有はご自由にどうぞ。事前連絡は不要ですが、もしご連絡いただければ、貴社コンテンツをご紹介できる場合もございます。