Node.js

https 모듈로 crawling하기

blackbearwow 2022. 8. 4. 16:41

https://nodejs.dev/learn/making-http-requests-with-nodejs

 

nodejs로 http https 크롤링 하는 방법은 crawler, axios모듈을 사용해도 가능하지만, 기본 https모듈을 사용하여도 된다.

위 사이트에 예제가 나와있다.

const https = require('https');

const options = {
  hostname: 'example.com',
  port: 443,
  path: '/todos',
  method: 'GET',
};

const req = https.request(options, res => {
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', d => {
    process.stdout.write(d);
  });
});

req.on('error', error => {
  console.error(error);
});

req.end();

res는 무엇으로 구성되어있는지 알아보자.

const req = https.request(options, res => {
console.log(`keys>> ${JSON.stringify(Object.keys(res))}`);
//keys>> ["_readableState","_events","_eventsCount","_maxListeners",
//"socket","httpVersionMajor","httpVersionMinor","httpVersion","complete",
//"rawHeaders","rawTrailers","aborted","upgrade","url","method","statusCode",
//"statusMessage","client","_consuming","_dumped","req"] 
})

눈에 띄는 것은 statusCode, rawHeaders다.