Web Crawling Node.js Code - 2
- Edu
- 2018. 11. 23.
http-req04.js
var client = require('cheerio-httpcli');
var request = require('request');
var fs = require('fs');
var urlType = require('url');
//저장할 디렉터리가 없으면 생성
var savedir = __dirname + '/img';
//var savedir = '/img';
if(!fs.existsSync(savedir)){
fs.mkdirSync(savedir);
}
//URL 지정
var url = 'https://ko.wikipedia.org/wiki/' + encodeURIComponent('강아지');
var param = {};
//html 파일 획득
client.fetch(url, param, function(err, $, res){
if(err) {console.log(err); return;}
//img 링크 추출 후 함수 실행
$('img').each(function(idx){
var src = $(this).attr('src');
//상대 경로 -> 절대 경로
src = urlType.resolve(url, src);
//저장 파일 이름 설정
var fname = urlType.parse(src).pathname;
fname = savedir + '/' + fname.replace(/[^a-zA-Z0-9\.]+/g, '_');
//다운로드
request(src).pipe(fs.createWriteStream(fname));
});
});
http-req06.js
var client = require('cheerio-httpcli');
var request = require('request');
var fs = require('fs');
var urlType = require('url');
//저장할 디렉터리가 없으면 생성
//var savedir = _ _dirname + '/img';
var savedir = '/img';
if(!fs.existsSync(savedir)){
fs.mkdirSync(savedir);
}
//URL 지정
var url = 'http://search.khan.co.kr/search.html?stb=photo&q=' + encodeURIComponent('강아지');
var param = {};
//html 파일 획득
client.fetch(url, param, function(err, $, res){
if(err) {console.log(err); return;}
//img 링크 추출 후 함수 실행
$('img').each(function(idx){
var src = $(this).attr('src');
//상대 경로 -> 절대 경로
src = urlType.resolve(url, src);
//저장 파일 이름 설정
var fname = urlType.parse(src).pathname;
fname = savedir + '/' + fname.replace(/[^a-zA-Z0-9\.]+/g, '_');
//다운로드
request(src).pipe(fs.createWriteStream(fname));
});
});
'Edu' 카테고리의 다른 글
MS 윈도우 10 단축키 모음 (0) | 2020.04.26 |
---|---|
갤럭시 노트(Galaxy Note)9에서 통화 중 녹음 설정 (0) | 2019.08.05 |
Web Crawling Node.js Code - 1 (0) | 2018.11.02 |
특수문자 리스트 (0) | 2017.12.20 |
Free Fonts(무료 서체) (0) | 2017.10.25 |