AI恐るべし!PythonコードをほぼChatGPTへ丸投げで生成、稼働。 | 本日もサルーな気持ち

本日もサルーな気持ち

卵型類人猿、生態と思索、現実と虚構のハザマ。でもサル。アバターがサル。

プログラミング面白れえなあ。とか言うたりして。

思った通りにちゃんと動くと感動するよ。

しかも単純作業を一瞬で終わらしてくれるし。

 

今回はPythonプログラムを話題のAI自動生成にチャレンジ。

 

正直、一から調べてコード書いていくのしんどいし、時間を短縮させたかった。

 

実際、何度か問題があったけど、そのたびにGPT先生とやり取りして、完成させた。

 

ここまでできるんだったら、もうプログラミングの勉強いらないんじゃねーの?

と思ったけど、HTMLもPythonも、最低限の知識がないと、やっぱりダメですよーん。

 

結果として、大量のデータを一瞬で処理できて、逆にビビった。

 

プログラムの仕様、というかやりたい事は以下の通り。

 

・俺の端末のgooglekeepメモがとんでもなく多くなっている。

 

・これを全てダウンロードすると、だいたい150個ぐらいのHTMLファイルと、同量のjson

ファイルになった。

 

・このうち、整理保存したいのは動画サイトのURLメモだ。

 主に、p〇ornhub、xv〇deos、Iw〇raなどの(笑)お気に入り動画ページをブラウザの'ブックマーク'じゃなくて、keepに保存したやつである(何故なら便利だったからだ)

 

・これがやたら増えすぎて、何がどれだったかわかんなくなってきたし、多すぎてKeep画面で探すのが面倒。

 

・これらをExcelとかスプレッドシートとかで一覧表にまとめて、整理したい。

 

・単純なデータシートだ。動画タイトルとURLだけ。

 

・150個といっても全部ソレ系じゃないのでw、整理すると必要なメモは84個だった。

 

・一覧表にしておけばファイル一つを開けば良いし、タイトルがあって、その隣のURLからサイトに飛べば良い。

 

これもちょっとの量であれば、コピー&ペーストをちまちま繰り返すだけでも一覧表は作れる。

でも84個だからねえ。やってらんない。

 

プログラミングで、できるだけ楽したい。

 

今回、ダウンロードしてみて、keepメモが実はHTMLで構成されていたことに気づいた。

 

そうであれば、Pythonお得意の、スクレイピングでなんとかなるんじゃないか。

 

どうすれば、どう構成すれば良いか、皆目見当がつかなかったので、GPT先生にお伺いを立てた。

 

すぐにPythonコードが生成された。

 

実行してみると何度か詰まったけど、そのたびにエラー内容をGPT先生に報告してw

問題をクリアしてもらった。

 

一番引っかかったのはCSVファイルを作成するところまでは良かったんだけど、書き込みしようとするとエラーが発生するところだった。

 

そしてついに、うまくいったのが次のコードです。

 

import os

from bs4 import BeautifulSoup

import csv

 

def extract_data(html_content):

    soup = BeautifulSoup(html_content, 'html.parser')

    title_element = soup.find('div', class_='title')

    link_element = soup.find('div', class_='content')

 

    # Check if elements are found before calling .get_text()

    title = title_element.get_text(strip=True) if title_element else ''

    link = link_element.get_text(strip=True) if link_element else ''

 

    return title, link

 

def process_html_files(input_folder, output_csv):

    with open(output_csv, 'w', newline='', encoding='utf-8', errors='replace') as csv_file:

        print(f"Opened CSV file: {output_csv}")

        csv_writer = csv.writer(csv_file)

        csv_writer.writerow(['Title', 'Link'])

 

        for filename in os.listdir(input_folder):

            if filename.endswith('.html'):

                file_path = os.path.join(input_folder, filename)

                with open(file_path, 'r', encoding='utf-8', errors='replace') as html_file:

                    html_content = html_file.read()

                    title, link = extract_data(html_content)

                    csv_writer.writerow([title, link])

 

if __name__ == "__main__":

  #ここだけ、自分のPCの情報を入れること

    input_folder = "ファイルが入っているフォルダのアドレス"

    output_csv = "出力したい場所のアドレス\\output.csv"

 

    process_html_files(input_folder, output_csv)

 

84個あるファイルを、適当なフォルダを作成してぶち込んでおく。

 

上記プログラムを稼働させると、

それら一つ一つ読み込んで解析、タイトルとURLを取り出す。

「output」というCSVファイルを作って、書き出す。

 

htmlの要素、タイトルかURLが読み込みできなかった場合、エラーでストップしないように処理してあるそうだ。

 

これを全てのファイルについて繰り返し行い、

完成したCSVファイルの内容を表計算ソフトに張り付けすれば良い。

 

俺の場合、スマホからも使用したかったのでスプレッドシートにした。

 

これでPC、スマホ両方からお好きな動画ページを視聴できるのである。

 

イエーイ。