본문 바로가기

전체 글

(19)
SimpleXML 이용하여 NEIS 학교정보 가져오기 나이스 API 활용 예제 PHP를 이용하여 나이스(NEIS) 학교정보 데이터를 가져오는 방법을 알아보겠습니다.학교정보 데이터를 가져오려면 나이스 학교정보 API를 이용하여야 합니다. NEIS 학교정보 API 를 이용하려면먼저 나이스 교육정보 개방 포털에 가입하여, 개발을 위한 인증키를 발급받아야 합니다.아래 링크로 이동하여 나이스 교육정보에 접속할 수 있습니다.https://open.neis.go.kr/ 나이스 교육정보 개방 포털OPEN API 활용신청 제공되는 데이터를 활용하기 위해 인증키를 발급 받으세요. 교육정보개방 소개 open.neis.go.kr 인증키 발급 신청활용가이드 > 인증키 신청 메뉴로 이동하여 신청합니다.https://open.neis.go.kr/portal/guide/actKeyPage.do 로그인 | 나이..
nodejs: 웹사이트 화면캡쳐 screenshot.js 노드JS를 이용하여 웹사이트 화면캡쳐를 해보는 예제이다. puppeteer 모듈이 필요하고, 다음(daum) 사이트 첫 화면을 캡쳐하여 JPG 스크린샷으로 정해진 폴더에 저장하는 부분까지이다. screenshot.js const puppeteer = require('puppeteer'); const timeOut = 100 * 1000; puppeteer.launch({ headless: true, slowMo:30, args: ['--window-size=800x600', '--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', '--disable-accelerated-2d-canvas', '--disable-gpu'] }).then..
nodejs: 네이버지식인 포스팅 예제 노드를 이용하여 네이버 지식인 자동 포스팅을 해보는 예제이다. selenium-webdriver 모듈이 필요하니 사전에 설치되어 있어야 한다. naverkin.js const { Builder, By, until, Key } = require('selenium-webdriver'); //Information ''내에 정보 입력 const Information = { nid : '네이버아이디', npw : '네이버패스워드', keyword : '키워드', comment : '댓글 내용', count : 30 }; let commentCount = Information.count; //지식인 자동 댓글 const KinAutoComment = async (nid,npw,keyword,comment) => {..
nodejs: express index.js 간단한 예제 Express index.js 간단한 예제 만들어 보자. 물론 express 가 설치되어 있어야 함은 물론이다. index.js //express를 사용하겠다는 선언 const express = require("express"); //변수에 익스프레스를 실행해서 담았음 const app = express(); const PORT = 3030; //app.listen(PORT); //localhost:4000으로 로딩하면 페이지가 뜬다. //라우터를 연결해 주지 않아서 Cannot Get /이 나오는 게 정상 (인덱스(루트)를 가지고 올 수 없음) //(기본적으로 npm으로 익스프레스를 설치해야 된다) 아주 쉽게 만들 수 있다. function handleListening () { console.log(`..
nodejs: 웹페이지 리스트 파싱 예제 노드JS를 이용하여 특정 웹페이지 리스트를 파싱하여 가져오는 예제입니다. puppeteer 모듈이 필요하며, 여기O때 호텔 페이지 리스트를 JSON 형태로 가져올 것입니다. hotel.js // puppeteer을 가져온다. const puppeteer = require('puppeteer'); // cheerio를 가져온다. const cheerio = require('cheerio'); (async() => { // 브라우저를 실행한다. // 옵션으로 headless모드를 끌 수 있다. const browser = await puppeteer.launch({ headless: false }); // 새로운 페이지를 연다. const page = await browser.newPage(); // 페이지..
nodejs: cheerio 웹페이지 TABLE 크롤링하여 파일 저장 예제 특정 웹페이지 항목 리스트를 가져와서 파일로 저장하는 과정까지를 진행하는 예제입니다. 웹페이지 크롤링 하기 위하여 chreerio 모듈이 필요합니다. genie.js const axios = require("axios"); const cheerio = require("cheerio"); const fs = require("fs"); const getHtml = async () => { try { // 1 const html = await axios.get("https://www.genie.co.kr/chart/top200"); let ulList = []; // 2 const $ = cheerio.load(html.data); // 3 const bodyList = $("tr.list"); bodyLis..
nodejs: express 실행 간단한 예제 express 설치했으면, 실제로 운영되고 있는지 확인하는 간단한 소스이다. 내 접속 IP를 화면에 표시해주는 데까지 성공하면 express 가 잘 설치되었다는 뜻이다. cors.js const express = require("express"); const cors = require("cors"); const app = express(); const whitelist = ["http://localhost"]; app.set("port", process.env.PORT || 3030); app.set("host", process.env.HOST || "0.0.0.0"); app.use( cors({ origin(req, res) { console.log("접속된 주소: " + req), -1 == whi..
Shorten URL Key 만들기 단축 URL 서비스를 제공하는 사이트들이 있다. 대표적으로 bit.ly, tinyurl.com, url.kr 등의 사이트들이다. 그렇다면 단축 URL 키 값은 어떻게 생성하는 것일까? 오늘은 단축 URL 일명 Shorten URL 키 값을 만드는 방법을 간단히 살펴보자. // Shorten URL 키값 만드는 함수 function generate_keycode() { $keycode = ''; // 초기화 $charIndex = array("1","2","3","4","5","6","7","8","9","a","b","c","d","f","g","h","k","l","m","n","p","q","r","t","x","y"); $is_exists = true; global $pdo; while($is_ex..