最近の記事

【ドライバ不要】javascriptが動作するサイトをSeleniumでスクレイピングする

多くのウェブサイトがJavaScriptを活用してデータを読み込むようになり、シンプルなスクレイピングツールでは対応できないことがあります。 今回は、Seleniumを使ってJavaScriptが動作するWebサイトのスクレイピングをし、さらにDockerを組み合わせた環境を整えることで、ドライバーの動作不良を回避する環境を作り上げます。 まず、seleniumのdocker imageを利用するため以下のコードを記載したdocker-compose.ymlを作成します。

    • 【Colab公開】PythonとBeautiful Soup 4を使ったWebスクレイピング

      Web上には様々な情報が豊富に存在しています。その情報を取得する手段としてスクレイピングを用いることができます。 Colab実行環境上にPythonのBeautiful Soupを用いたノートブックを作成しました。サンプルのHTMLから様々なパターンで情報を取得することができます。 Colabノートブック上ではサンプルのHTML上でさまざまな要素を検索、取得しています。 from bs4 import BeautifulSoupsoup = BeautifulSoup(

      • 【Colab公開】AESとRSAを組み合わせてパスワード情報をセキュアに扱う方法とは?

        ID情報をサーバーに置きたくないGCPのサービスアカウントやパスワードなどシステムの認証情報をセキュアに扱いたい場面は頻繁に発生します。AESとRSAを組み合わせてセキュアにこれらの情報を暗号化・復号化するスクリプトを紹介します。 Colab notebookも公開するので実際にコードを実行することもできます。 Githubから「AES&RSA_Crypto.ipynb」にアクセスし「Open in Colab」からアクセスしてください。 Colab Notebook内で

        • ラズベリーパイへのSSH接続をパスワードレス化する

          ラズベリーパイにSSH接続する際に求められるパスワードを省略する方法を紹介します。 1.公開鍵と秘密鍵の生成以下のコマンドは自分のローカルマシンで公開鍵と秘密鍵のペアを生成します。パスフレーズを求められた場合はEnterを押し、パスフレーズを省略します。 # --ローカルマシンで実施--ssh-keygen# --以下は出力結果の例です--Generating public/private rsa key pair.Enter file in which to save

        • 【ドライバ不要】javascriptが動作するサイトをSeleniumでスクレイピングする

        • 【Colab公開】PythonとBeautiful Soup 4を使ったWebスクレイピング

        • 【Colab公開】AESとRSAを組み合わせてパスワード情報をセキュアに扱う方法とは?

        • ラズベリーパイへのSSH接続をパスワードレス化する

          Dockerコンテナ内で定期的にバッチ処理する

          Dockerコンテナ内で定期的なバッチ処理を実行する場合、コンテナでcronを実行できない場合があります。 その場合は、ホストマシン上でcronジョブを作成し、docker execコマンドでコンテナ上のスクリプトを実行することで実現できます。 以下の手順に従って、cronジョブを作成することができます。 1.ホストマシンのdockerコマンドのフルパスを取得 cronジョブではPATHが制限されている場合があるため、フルパスを使用する方がエラーが少なくなります。

          Dockerコンテナ内で定期的にバッチ処理する

          GCP VM Managerでバッチ処理

          Compute Engineでアプリケーションを運用しています。現在バッチ処理はcronを用いていますが、SSHしないと状態が確認できません。 今回はVM Managerを使ってSSHせずにバッチ処理します。 実行スクリプトを作成する定期実行するスクリプトを作成します。 #!bin/bash# [batch.sh]apt upgrade スクリプトを「batch.sh」というファイル名で保存します。 batch.shを任意のGCSバケットに保管します。 保管したらバッチ

          GCP VM Managerでバッチ処理

          GCPで平日日中しか稼働しないサーバーの稼働時間チェックを設定する

          Cloud Monitoringのアラートで、有効/無効を切り替えることで実現できました。 Pythonクライアントを使って実装します。Cloud FunctionやCloud Schedulerを組み合わせることで定期的にアラートの有効/無効を切り替えます。 Sample Code以下のコードで切り替えることができます。 # アラートを有効にするfrom google.cloud import monitoring_v3project = "my-project" #

          GCPで平日日中しか稼働しないサーバーの稼働時間チェックを設定する

          Tableau ServerでSSOとパスワード認証を併用する

          SSOとパスワード認証を使い分けるケースTableauを使っていてワークブックを作成する人に直接サーバーにアクセスしてもらいたい時ありませんか? 例えば、外部のデータサイエンティストが作成したTableauファイルを納品してくれる場合です。1回限りでTableauをメールでもらって自分でサーバーに入れるのもいいのだけれども、何回も続くと億劫になります。 その場合、社外にアカウントを発行すれば良いのですが、Tableau Serverがシングルサインオン(SSO)で運用され

          Tableau ServerでSSOとパスワード認証を併用する