แต่เรื่องหานี้ผมไม่ได้มาแนะนำเกมส์แต่เราจะมาแอบดึงข้อมูลจากเว็บ Game-State กันมาเริ่มการเลย
- สิ่งแรกเลยคือการติดตั้ง Nodejs กันก่อนเลย [แต่ผมไม่สอนติดตั้งน๊ะครับ]
Download Nodejs : https://nodejs.org/en/download/ - สร้าง Folder สำหรับโปรเจคมาซัก 1 Folder เสร็จแล้ว ของผมของสร้างว่า nodejs1 แล้วกันน๊ะครับ
- เข้าไป Folder ที่เราสร้างขึ้นมาแล้วทำการเปิด terminal ขึ้นมาทำการ run ทำสั่ง `npm init` เพื่อเริ่มต้นใช้งาน และช่วยให้เราสร้าง และใส่รายละเอียดเกี่ยวกับโปรเจคของเรา (package.json)
- package ที่เราจะใช้มีดังนี้ express, parse5, xmlserializer, xmldom, request
- ทำการ install package ก่อนเลย `npm install express xpath xmldom request --save`
- สร้าง File app.js เริ่มเขียนโค๊ดดังนี้ก่อนเลย
app.js
เสร็จแล้วลองรันการดูก่อนเลย ด้วย `node app.js` ก็จะได้ดังรูปconst express = require('express'); const app = express(); const port = process.env.PORT || 3000; app.get('/', function (req, res) { res.send("Welcome") }); app.listen(port, () => { console.log(`listening on ${port}`); }); module.exports = app;
- ต่อเรามาทำการลองใช้ package request กันสิ่งที่ได้
const express = require('express'); const request = require('request'); const app = express(); const port = process.env.PORT || 3000; app.get('/', function (req, res) { //? url : https://www.game-state.com/index.php?game=mta&location=TH สำหรับ setver thai const location = "TH" const url = `https://www.game-state.com/index.php?game=mta&location=${location}`; request(url, function (error, response, html) { if (!error && response.statusCode == 200) { res.send(html) } }); }); app.listen(port, () => { console.log(`listening on ${port}`); }); module.exports = app;
- จากรูปเราได้ทำการดึงโค๊ด html จาก Game-State แล้ว ต่อไปเราจะแปลง html ให้เป็น api เพิ่มนำไปใช้งาน
- โดนใช้ xmldom สร้าง Document ขึ้นมา `var doc = new dom().parseFromString(html);`
ตัวอย่าง | Demo : https://server-mta-sa-nodejs.herokuapp.com
Source Code : https://github.com/popzatem/--server-mta-sa-Nodejs
0 Comments