nodejs에서 웹사이트 이미지를 크롤링하는 방법

亚连
풀어 주다: 2018-06-20 16:40:05
원래의
2751명이 탐색했습니다.

예제를 통해 nodejs를 사용하여 웹사이트 이미지를 크롤링하는 방법을 가르쳐 드리겠습니다. 관심 있는 친구는 저장할 수 있습니다.

예제를 통해 nodejs가 웹 사이트 이미지를 크롤링하는 기능을 구현하는 방법을 설명합니다. 다음은 전체 내용입니다.

원리:

Crawler는 분명히 node를 사용하면 I/O를 대기하게 만드는 가장 확실한 IO 집약적 애플리케이션 시나리오입니다. 오버헤드가 적음 데이터 마이닝이 더 편리합니다

express 모듈을 사용하여 노드 서비스를 구축

하고 요청 모듈을 사용하여 대상 페이지의 HTML 코드를 얻습니다

cheerio 모듈을 다운로드하여 html 코드를 처리합니다(cheerio에는 구문이 있습니다) jQuery와 유사하여 사용하기 쉽고 편리함)

환경 구성:

npm install express request cheerio --save
로그인 후 복사

(1)각 모듈 소개

var http = require('http');
var request = require('request);
var cheerio = require('cheerio');
var fs = require('fs'); //用来操作文件
var url = 'https://movie.douban.com/cinema/nowplaying/beijing/' //定义要爬的页面
로그인 후 복사

(2)요청 보내기

http.get(function(res){
  var html = '';
  var titles = [];
  res.setEncoding('utf-8') //防止中文乱码
  res.on('data',function(chunk){
    html += chrunk;    //监听data事件 每次取一块数据
  })
  res.on('end',function(){
    var $ = cheerio.load(html);  //获取数据完成后,解析html
    //将获取的图片存到images文件夹中
    $('.mod-bd img').each(function(index, item){
      //获取图片属性
      var imgName = $(this).parent().next().text().trimg()
      var imgfile = imgName + '.jpeg';
      var imgSrc = $(this).attr('src')
      //采用request模块,向服务器发起请求 获取图片资源
      request.head(imgSrc, function(error, res,body){
        if(error){
          console.log('失败了')
        }
      });
      //通过管道的方式用fs模块将图片写到本地的images文件下
      request(imgSrc).pipe.(fs.createWriteStream('./images/' + imgfile));
    })
    
  })
})
로그인 후 복사

위 내용은 제가 모든 사람을 위해 편집되었으며, 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

js를 사용하여 재할당을 구현하는 방법

캔버스에서 생성된 이미지를 js에 저장하는 방법

js에서 양방향 바인딩을 구현하는 방법

webpack 자세히

jQuery를 이용하여 메뉴 추가, 삭제 기능 구현하는 방법

nodejs+mongodb+vue를 이용하여 ueditor 구성하는 방법

위 내용은 nodejs에서 웹사이트 이미지를 크롤링하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿