이전 글에서 간략하게 프록시가 무엇이며
프록시를 활용해서 IP를 변경하는 방법을 알아보았습니다
더 자세한 정보를 알고 싶으시다면 아래의 링크를 클릭하시길 바랍니다.
2022.09.02 - [IT_Web/Nodejs] - 웹 크롤링 puppeteer 프록시 IP 적용하기 그런데 대체 프록시 란? 뭘까?
웹 크롤링 puppeteer 프록시 IP 적용하기 그런데 대체 프록시 란? 뭘까?
이전 글 웹 크롤링 마우스 조작하기에 대해서 태그를 도저히 못 찾겠다면 마우스를 조작하여 직접 마우스 클릭하는 방법을 구현해서 웹크롤링을 합니다 하지만 마우스 조작하는 방법은 대도록
tantangerine.tistory.com
웹 크롤링은 정보를 추출하여 파일을 만들어 업무 효율높이는데 목적이 있습니다
하지만 그 정보를 DB에 보관한다면 중복검사와 데이터 관리에 있어 보다 더 효율적으로
관리가 가능합니다
그래서 DB 연동은 웹크롤링을 보다 편하게 하기 위해서는 필수 조건이라고 생각합니다
그럼 DB연동 방법을 알아보도록 하겠습니다
mysql 설치방법은 다른 여러 블로그에 나와있습니다
그러니 생략하고 sequelize 라이브러리를 설치하는 방법을 알아보겠습니다
sequelize 라이브러리 설치하기
아래의 코드를 실행시켜 라이브러리를 설치합니다
npm i -g sequelize-cli
npm i --save sequelize
sequelize init
npm i mysql2
4개의 라이브러리를 설치하고 나면 디렉터리에 새로운 폴더가 추가가 되어있을 것입니다
config 폴더와 models폴더가 추가됩니다
DB 연결 함수 및 config.json 설정값 변경하기
models의 index파일은 DB를 연결하는 설정 함수들이 포함되어있습니다
대문자 sequelize와 Sequelize가 다르니 꼭 확인 하시길바랍니다
config.json은 DB 연결을 위한
host주소 및 DB 패스워드, username 등이 정의되어있습니다
그래서 위의 이미지와 같이 사용하는 코드들이 작성되어있습니다
아래는 DB config파일입니다
이제 테이블을 만들어야 합니다
하지만 sequelize를 활용해서 models 폴더에 파일을 만들면
테이블을 만들 수 있습니다
위의 디렉터리 구조에서 proxy.js가 보일 것입니다
그 파일을 보면 아래와 같이 칼럼이 정의되어있습니다
null값을 허용할지와 컬럼이 저장될 자료형이 어떤 것 인지도 정할 수 돼있으며
테이블마다 id는 자동부여됩니다
DB 조회 문 함수
sequelize는 ORM방식이라서 sql을 몰라도 DB를 다를 수 있지만
DB를 조금 더 자세하게 알고 싶다면 sql을 필히 공부해야 합니다
너무 sequelize 믿지 마시고 sql을 조금씩 공부를 하시길 바랍니다
그럼 데이터를 조회해보는
몇 가지 함수를 찾아보았습니다
한번 확인해보시고 더 많은 조회 문을 찾아보시길 바랍니다
await db.sequelize.sync(); //db를 연결하는 함수입니다
await Promise.all(fristProxies.map(async (v) => { // 테이블 insert문
return await db.Proxy.create({ // Proxy파일이 module.export되어 데이터를 가져온다
ip: v.ip,
type: v.type,
latency: v.latency,
anonymity: anonymity.toString() //''만으로 문자열이 구성되면 에러가 발생한다
}); // ""을 꼭 확인해야합니다
}))
const fastestProxy = await db.Proxy.findOne({ // 한개의 행을 가져오기
order: [['latency', 'ASC']]
});
이것으로 DB 연동은 끝났습니다
간단하게 DB 연동을 할 수 있으니 꼭 사이드 프로젝트를 만들면서
자기의 역량을 키울 수 있는 계기가 되었으면 합니다
이것으로 웹크롤링 준비단계는 모두 끝이 났습니다
아래는 제일 처음 웹크롤링 포스팅입니다
관심 있으신 분들은 한번 읽어보시길 바랍니다
아니면 카테고리를 클릭해서 전체 글을 보셔도 되겠지요?
2022.08.17 - [IT_Web/Nodejs] - node.js로 엑셀 및 CSV 파일 데이터 간단하게 가져오기
node.js로 엑셀 및 CSV 파일 데이터 간단하게 가져오기
node.js 관련은 처음 소개하는 것 같습니다 다음에 node.js로 서버 구축하는 것도 알아볼 테니 많은 관심 부탁드립니다 우선 node 다운로드 링크 주소는 사이드바에 생성해 놓을 테니 확인해 보시길
tantangerine.tistory.com
그럼 다음 포스팅도 기대해주시길 바랍니다
우리의 길고 긴 IT 대모험은 항상 밝기만을 기원하겠습니다
그럼 다음 포스팅에서 만나요~
'IT_Web > Nodejs' 카테고리의 다른 글
Node에서 중요한 NPM은 무엇이며, 그 활용법을 알아보자 (2) | 2022.09.10 |
---|---|
웹 크롤링 puppeteer 파일 업로드 및 로그인 유지 설정하기 (0) | 2022.09.06 |
웹 크롤링 puppeteer 프록시 IP 적용하기 그런데 대체 프록시 란? 뭘까? (1) | 2022.09.02 |
웹 크롤링 마우스 조작해서 클릭하기 태그를 도저히 못찾겠다면!? (0) | 2022.09.01 |
웹 크롤링 puppeteer로 alert, prompt, confirm 창 얼럿창 제어 및 컨트롤 하기 (0) | 2022.08.31 |