少し前にクローラーをやったのですが、楽しかったのですが、sshがクローラーを起動してデータを取得するたびに、とても面倒です。 自動実行は 'crontab'設定で簡単ですが、自動的にデータを送信したいです。
最初はSMSを使いたかったのですが、SMSは67文字しか送信できず、数に制限があり、「100メッセージ/月」を超えると課金されます。 そして、それは完全にカスタマイズすることはできません(それはただ醜いです)ので、私は後で電子メールを使うことを考えました。 (公式アカウントとTGプッシュは調査中です)
バックエンドはPythonを使用し、SMTPサービスはTencent Enterprise Mailによって使用され、データにエラーがない限り、実装は非常に簡単です。
このステップは最も簡単で、30行のコードを直接コピーするだけです。
#coding:UTF-8 インポート SMTPLIB email.mime.text import MIMEText # サードパーティのSMTPサービスを使用する mail_host = "smtp.exmail.qq.com"# サーバーをセットアップする mail_username = "noreply@tstrs.me" # ユーザー名 mail_auth_password = "あなたのパスワード" # 認証パスワード 😀 送信者 = "noreply@tstrs.me" 受信者= "saltyleo@tstrs.me" # 複数の受信者を ',' で分割するために入力できます # HTMLメール #mail_msg = """ #""" #message = MIMEText(mail_msg, "html", "utf-8") message = MIMEText('Python Mail Sending Test...', 'plain', 'utf-8') # プレーンテキストメール メッセージ["差出人"] = (u'TSTR-Blog <%s>'%sender ) # ニックネーム、あなたはTSTRブログを自分のものに変更できます メッセージ["宛先"] = 受信者 # 受信者 メッセージ["件名"] = "テストメール" 試みる: #smtpObj = smtplib. SMTP(mail_host, 25) # 非 SSL プロトコルでポート番号 25 を使用して smtpObj オブジェクトを生成する smtpObj = smtplib. SMTP_SSL(mail_host, 465)# SSL プロトコルポート番号 465 を使用して smtpObj オブジェクトを生成する smtpObj.login(mail_username, mail_auth_password) # ログインメール smtpObj.sendmail(sender, receivers, message.as_string()) # 人に送信 #smtpObj.sendmail(sender, receivers.split(','), message.as_string()) # 複数の人に送る ただし、SMTPLIB を除く。 SMTP 例外: 印刷 ("エラー: 電子メールを送信できません")
最初にローカルでテストし、WSLで直接実行し、プロンプトがない場合は正常に送信されました。 その後、数秒でメールが届きます。
「エラー:メールを送信できません」と言う場合は、SMTPサーバー、ユーザー名、パスワード、送信者、受信者、ポート番号を確認してください。 一部の電子メールプロバイダーはSSLを使用する必要がありますが、他の電子メールプロバイダーは使用しません。
まだ上記のコードですが、この行をコメントアウトします:
message = MIMEText('Python Mail Sending Test...', 'plain', 'utf-8') # プレーンテキストメール
そして、これらの行のコメントを外します:
#mail_msg = """ こことここ、ここ、 #""" #message = MIMEText(mail_msg, "html", "utf-8")
送信したいHTMLメールの内容を「ここ」に追加し、 何を記入すればよいかわからない場合は、[ここ]で行うことができます( https://www.google.com/search?q=html%E9%82%AE%E4%BB%B6%E6%A0%BC%E5%BC%8F&oq=html%E9%82%AE%E4%BB%B6%E6%A0%BC%E5%BC%8F&aqs=chrome..69i57j69i60j69i65j69i61l3.3409j0j7&sourceid=chrome&ie=UTF-8 ) をクリックして表示します。 または、GitHubで他の人のオープンソースのシンプルなテンプレートを使用してください。 https://github.com/SaltyLeo/responsive-email/blob/master/simple.html
エラーが報告されない場合、受信した電子メールは次のようになります。
本質的にWebページであり、正しく表示できるかどうかは電子メールクライアントに完全に依存します。 Outlook や Gmail などのほとんどのメール クライアントでは、HTML 設定をフィルター処理してメッセージを認識できないようにします。
ここにはコードは投稿されていませんが、簡単に言えば、クローラーデータを使用してデータをクロールして除外し、電子メールテンプレートに挿入します。 テンプレートに変数を挿入するには、次のコードを使用する必要があります。
"""+変数+""""
現在、通常の送信しか達成しておらず、データの変更に応じた送信を検討しています。 コマンドcrontab -eを使用して、実行する時間とスクリプトの場所を追加するだけです。
ここでは、crontabに入力されたスクリプトの場所が絶対位置でなければならないことに加えて、スクリプトで呼び出されるファイルも絶対位置でなければならず、そうでなければファイルがエラーで見つからないことがわかります。
ティッカー
リファレンス
複数のサービスを連携させた後は、ブログを書いて、コマンドを実行するだけで自動的に Web サーバーにプッシュされ、レンダリング速度が以前よりも大幅に高速化されます。
このサイトのすべての記事は、Markdown エディターに基づいています。
この記事では、単純なマルチレベル プロキシの状況でビジター IP を取得するために使用できる nginx プラグイン nginxhttprealip_module を紹介します。
ネットワークもアップグレードされ、機器のデバッグも行われましたが、外部ネットワーク上のローカル ファイルにアクセスしたい場合はどうすればよいですか?
コンピュータを保護するためのいくつかの効果的な小さな方法
目次
人気タグ
その他の言語
サイト情報