【ChatGPTでプログラミング】XboxGamePassの自分用にまとめ出力

雑にChatGPTに投げて作ったNotepad++のPythonScriptを利用したプログラミング。全て、ChatGPTとの返答だけで作った。自分は、結果をあーしたい、こーしたい、ここを追加してくれ、しか命令していないのでめちゃくちゃ便利。

Notepad++の1行目にXboxGamePassのURLを追加して、PythonScriptを実行すると、ページのタイトルを適当にまとめてくれる。

# coding: utf-8
import requests
from bs4 import BeautifulSoup
import pyperclip
import sys
import urllib.parse

# Notepad++ と PythonScript 用のモジュール
sys.path.append('C:\\Program Files (x86)\\Notepad++\\plugins\\PythonScript\\lib')
import Npp

# URL をテキストエディタの1行目から読み込む
editor.gotoLine(0)
position_start = editor.positionFromLine(0)
position_end = editor.getLineEndPosition(0)
url = editor.getTextRange(position_start, position_end)

# Webページを取得
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
response = requests.get(url, headers=headers)

if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')
    entry_main = soup.find('div', class_='entry-main entry-main--post entry-main--post-no-sidebar')
    
    # 要素を格納するリスト
    elements = []
    
    # h2, p, li タグを順番に処理
    for tag in entry_main.find_all(['h2', 'p', 'li']):
        # <h2><strong>~~</strong></h2>
        if tag.name == 'h2':
            strong_tag = tag.find('strong')
            if strong_tag:
                elements.append(f'## {strong_tag.text}')
        # <p><strong>~~</strong><br>
        elif tag.name == 'p':
            strong_tag = tag.find('strong')
            if strong_tag:
                elements.append(f'### {strong_tag.text}')
                # <em>タグの処理を追加
                em_tag = tag.find('em')
                if em_tag:
                    search_query = em_tag.text
                    search_url = f'https://www.xbox.com/ja-jp/search?q={urllib.parse.quote(search_query)}'
                    markdown_link = f'[{search_query}]({search_url})'
                    elements.append(markdown_link)
        # <li>~~</li>
        elif tag.name == 'li':
            elements.append(f'- {tag.text}')
    
    # テキストエディタの終端に移動
    editor.gotoPos(editor.getTextLength())
    
    # 結果をテキストエディタに追加
    output = '\n'.join(elements)
    editor.addText('\n' + output)
else:
    print(f'Error: Unable to retrieve the web page (Status code: {response.status_code})')
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次