banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

5つの便利で使いやすいPython自動化スクリプト、そのまま使えます!

相比大家都聞いたことがある自動化生産ライン、自動化オフィスなどの用語では、人の介入なしで機械がさまざまなタスクを自動的に完了することができ、作業効率が大幅に向上しました。
プログラミングの世界には、さまざまな自動化スクリプトがあり、さまざまなタスクを実行するために使用されます。

特に Python は自動化スクリプトの作成に非常に適しています。シンプルで理解しやすい構文を持ち、豊富なサードパーティのツールライブラリがあります。

今回は Python を使用していくつかの自動化シナリオを実装し、お仕事に役立てることができるかもしれません。

  1. ウェブページのニュースを自動で読む
    このスクリプトは、ウェブページからテキストを取得し、自動的に音声読み上げを行うことができます。ニュースを聞きたいときに便利です。

コードは 2 つの主要な部分に分かれています。最初に、ウェブスクレイピングによってウェブページのテキストを取得し、次に読み上げツールを使用してテキストを読み上げます。

必要なサードパーティライブラリ:

Beautiful Soup - クラシックな HTML/XML テキストパーサーで、スクレイピングしたウェブページ情報を抽出するために使用されます。

requests - 使いやすくて強力な HTTP ツールで、ウェブページにリクエストを送信してデータを取得するために使用されます。

Pyttsx3 - テキストを音声に変換し、速度、周波数、音声を制御するために使用されます。

import pyttsx3
import requests
from bs4 import BeautifulSoup
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
newVoiceRate = 130                       ## 話す速度を減らす
engine.setProperty('rate',newVoiceRate)
engine.setProperty('voice', voices[1].id)
def speak(audio):
  engine.say(audio)
  engine.runAndWait()
text = str(input("記事を貼り付けてください\n"))
res = requests.get(text)
soup = BeautifulSoup(res.text,'html.parser')

articles = []
for i in range(len(soup.select('.p'))):
    article = soup.select('.p')[i].getText().strip()
    articles.append(article)
text = " ".join(articles)
speak(text)
# engine.save_to_file(text, 'test.mp3') ## 音声をオーディオファイルとして保存する場合
engine.runAndWait()
  1. スケッチの自動生成
    このスクリプトは、カラー画像を鉛筆スケッチに変換することができます。人物や風景に対して非常に効果的です。

また、わずか数行のコードで一括生成できるため、バッチ処理に適しており、非常に迅速です。

必要なサードパーティライブラリ:

Opencv - コンピュータビジョンツールで、多様な画像およびビデオ処理を実現するための Python インタフェースを提供します。

""" Pythonを使用した写真スケッチング """
  import cv2
  img = cv2.imread("elon.jpg")

  ## グレースケール画像への変換
  gray_image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

  ## グレースケール画像を反転させる
  inverted_gray_image = 255-gray_image

  ## 反転したグレースケール画像のぼかし
  blurred_inverted_gray_image = cv2.GaussianBlur(inverted_gray_image, (19,19),0)

  ## ぼかした画像を反転させる
  inverted_blurred_image = 255-blurred_inverted_gray_image

  ### スケッチの準備
  sketck = cv2.divide(gray_image, inverted_blurred_image,scale= 256.0)

  cv2.imshow("元の画像",img)
  cv2.imshow("鉛筆スケッチ", sketck)
  cv2.waitKey(0)

image

  1. メールの自動送信
    このスクリプトは、メールの一括定時送信を支援することができます。メールの内容や添付ファイルもカスタマイズでき、非常に便利です。

メールクライアントと比較して、Python スクリプトの利点は、メールサービスをスマートに、一括で、高度にカスタマイズして展開できることです。

必要なサードパーティライブラリ:

Email - 電子メールメッセージの管理に使用されます。

Smtlib - SMTP サーバーに電子メールを送信するために使用され、SMTP または ESMTP リスナーを持つインターネット上の任意のコンピュータにメールを送信するための SMTP クライアントセッションオブジェクトを定義します。

Pandas - データ分析およびクリーニングツールとして使用されます。

import smtplib 
from email.message import EmailMessage
import pandas as pd

def send_email(remail, rsubject, rcontent):
    email = EmailMessage()                          ## EmailMessageのオブジェクトを作成
    email['from'] = 'The Pythoneer Here'            ## 送信者
    email['to'] = remail                            ## 送信先
    email['subject'] = rsubject                     ## メールの件名
    email.set_content(rcontent)                     ## メールの内容
    with smtplib.SMTP(host='smtp.gmail.com',port=587)as smtp:     
        smtp.ehlo()                                 ## サーバーオブジェクト
        smtp.starttls()                             ## サーバーとクライアント間でデータを送信するために使用
        smtp.login("[email protected]","delta@371") ## GmailのログインIDとパスワード
        smtp.send_message(email)                    ## メールの送信
        print("email send to ",remail)              ## 送信成功メッセージの表示

if __name__ == '__main__':
    df = pd.read_excel('list.xlsx')
    length = len(df)+1

    for index, item in df.iterrows():
        email = item[0]
        subject = item[1]
        content = item[2]

        send_email(email,subject,content)
  1. データの自動探索
    データの探索は、データサイエンスプロジェクトの最初のステップであり、データの基本情報を把握する必要があります。

通常、pandas や matplotlib などのツールを使用してデータを探索しますが、多くのコードを自分で書く必要があります。効率を向上させるためには、Dtale が良い選択肢です。

Dtale の特徴は、1 行のコードで自動分析レポートを生成できることです。Flask バックエンドと React フロントエンドを組み合わせており、Pandas データ構造の表示と分析を簡単に行う方法を提供しています。

Jupyter 上で Dtale を使用することができます。

必要なサードパーティライブラリ:

Dtale - 自動分析レポートの生成

### Seabornライブラリをインポートしていくつかのデータセットを表示
import seaborn as sns

### Seabornライブラリの組み込みデータセットを表示
print(sns.get_dataset_names())


### Titanicデータセットの読み込み
df=sns.load_dataset('titanic')

### ライブラリのインポート
import dtale

#### クイックサマリーの生成
dtale.show(df)

image

  1. 自動デスクトップ通知
    このスクリプトは、Windows デスクトップ通知を自動的にトリガーし、重要な事項を通知します。たとえば、2 時間働いたので休憩が必要ですなど。

10 分、1 時間など、固定時間で通知を設定することもできます。

必要なサードパーティライブラリ:

win10toast - デスクトップ通知を送信するためのツール

from win10toast import ToastNotifier
import time
toaster = ToastNotifier()

header = input("何を覚えておいてほしいですか\n")
text = input("関連メッセージ\n")
time_min=float(input("何分後に?\n"))

time_min = time_min * 60
print("リマインダーを設定しています..")
time.sleep(2)
print("準備完了!")
time.sleep(time_min)
toaster.show_toast(f"{header}", f"{text}", duration=10, threaded=True)
while toaster.notification_active(): time.sleep(0.005)

image

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。