# 남이 만든 api 가져오는법
import requests
# r = requests.get('https://api.signal.bz/news/realtime')
# d = r.json()
# # print(r.json())
# # print(type(d))
# top10 = d['top10']
# for item in top10:
# print(item['rank'], item['keyword'])
================================================================
async function logMovies() {
const response = await fetch("http://example.com/movies.json");
const movies = await response.json();
console.log(movies);
}
=================================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fetch TEST</title>
</head>
<body>
<button onclick="logJSONData()">fetch 호출</button>
<ol id="rank"></ol>
<script>
async function logJSONData() {
const response = await fetch("https://api.signal.bz/news/realtime");
const jsonData = await response.json();
console.log(jsonData);
console.log(jsonData['top10']);
var top10 = jsonData['top10'];
for (var i = 0; i < top10.length; i++){
console.log(top10[i]['keyword']);
}
}
</script>
</body>
</html>
===================================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fetch TEST</title>
</head>
<body>
<button onclick="logJSONData()">fetch 호출</button>
<ol id="rank"></ol>
<script>
async function logJSONData() {
const response = await fetch("https://api.signal.bz/news/realtime");
const jsonData = await response.json();
console.log(jsonData);
console.log(jsonData['top10']);
var top10 = jsonData['top10'];
var html = "";
for (var i = 0; i < top10.length; i++){
console.log(top10[i]['keyword']);
html += `<li>${top10[i]['keyword']}</li>`
}
document.getElementById('rank').innerHTML = html;
}
</script>
</body>
</html>
==========================================================================
node js
.mjs 파일명
import { isUtf8 } from 'node:buffer';
import { createServer } from 'node:http';
const server = createServer((req, res) => {
res.writeHead(200, { 'Content-Type' : 'text/html;charset=utf8'});
if (req.url == '/') {
res.end('<h1>메인 페이지</h1>\n');
} else if (req.url == '/news'){
res.end('<h1>뉴스 페이지</h1>\n')
}
});
// starts a simple http server locally on port 3000
server.listen(3000, '127.0.0.1', () => {
console.log('Listening on 127.0.0.1:3000');
});
// localhost:3000
===============================================================================
.js 파일명
const express = require('express');
const app = express();
const port = 3000;
app.listen(port, () ={
console.log(`서버 실행중: http://localhost:{port}`);
});
app.get('/', (req, res) => {
res.send('Hello World!');
});
.npm init -y 터미널에 입력 => package.json이 생김
npm install express 터미널에 입력하면 다운로드가 받아지고 package.json에 express 버전이 설치가 됨
const express = require('express');
const app = express();
const port = 3000;
app.listen(port, () => {
console.log(`서버 실행중: http://localhost:${port}`);
});
app.get('/news', (req, res) => {
res.send('뉴스를 보여줘야지!!');
});
const express = require('express');
const app = express();
const port = 3000;
app.listen(port, () => {
console.log(`서버 실행중: http://localhost:${port}`);
});
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.get('/news', (req, res) => {
res.send('뉴스를 보여줘야지!!');
});
npm i -g nodemon 터미널에 설치
보안상 오류가 나는데 nodemon이 내부적으로 파일을 감시하고있다가 파일을 죽였다가 다시 실행하기때문에 바이러스와 원리가 비슷함
window에는 막혀있어서 관리자 권한으로 powershell 실행 후 다음 명령어 입력
Set-ExectutionPolicy RemoteSigned
Get-ExecutionPolicy
nodemon .\server.js
ctr s 누르면 자동으로 됨
news.html 을 만들고
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>html로 만든 뉴스 페이지임</h1>
<ul>
<li>폴리텍 진주캠 학생들 개쩔어</li>
<li>오늘 밥 맛있다고 알려져</li>
<li>요즘 날씨가 좋은데 솔로들은 어쩌나</li>
</ul>
</body>
</html>
server.js
const express = require('express');
const app = express();
const port = 3000;
app.listen(port, () => {
console.log(`서버 실행중: http://localhost:${port}`);
});
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.get('/news', (req, res) => {
console.log(__dirname);
res.sendFile(__dirname + '/news.html');
});