本日はPython勉強枠です。
PythonでNode.jsを使用していきます。
筆者自身はNode.js自体は触ったことはあるのですが、自身のプログラムと合わせて使用した経験がないため今回は勉強も含めて触っていきます。
〇Node.jsとは?
Node.jsはJavascriptをサーバーサイドで実行するための環境で、非同期I/O処理を特徴としており、大量のアクセスを高速に処理することができます。
〇環境構築
・Windows11 PC
・Anaconda3
①プロジェクトのディレクトリでコマンドプロンプトを開きます。
②npmの初期化を行います。
npm init
npmとはNode.jsのパッケージ管理ツールです。
PythonのPipのような用途で使用できます。
これによってPackage.jsonファイルが作成されます。
③次のコマンドでモジュールをインストールします。
npm install express
これによってNode.jsのexpressモジュールがダウンロードされます。
④axiosモジュールのインストール
npm install axios
〇Pythonコード
import requests url = 'http://localhost:3000/api/data' response = requests.get(url) data = response.json() print(data)
Python側ではLocalhostのポート番号3000を利用してデータを受け取ります。
〇Javascriptコード
const express = require('express'); const app = express(); const port = 3000; app.get('/api/data', (req, res) => { res.send({ message: 'This is data from Node.js server!' }); }); app.listen(port, () => { console.log(`Server is listening at http://localhost:${port}`); });
js側のコードではHTTPサーバーを立ち上げ、Pythonからのリクエストを受け付けるようにしています。
〇コードを実行
現時点でプロジェクトディレクトリは次のようになっています。
①コマンドプロンプトを使用してサーバーを起動します。
node server.js
②表示されるセキュリティの警告を承認します。
これによってサーバーが機能します。
③Pythonを実行します。
これによってサーバー側からメッセージが返されます。
以上でNode.jsを使用したPythonによるシンプルなコードが実行できました。
LocalHostを使用しているIPを同一のネットワークやVPNを使用しているデバイスのIPに変えることでネットワークを使用して他のデバイスに通信できそうです。
本格的に使用するにはまだ足りず初歩的な内容ですが、ここから膨らませていけそうです。