앤 리 경량급 파충류 도구 node - crawler

11793 단어 nodejs공구.
주소.
https://node-crawler.readthedocs.io/zh_CN/latest/
실질 적
파충 류 는 웹 페이지 를 분석 하고 인 터 페 이 스 를 분석 하 며 원 하 는 데 이 터 를 얻 고 데 이 터 를 얻 는 데 두 가지 방식 이 있다.
  • 직접 요청 에 대해 정적 페이지 를 얻 고 html 를 직접 분석 하여 자신 이 필요 로 하 는 데 이 터 를 얻는다
  • 그리고 api 인 터 페 이 스 를 통 해 얻 은 데이터 입 니 다. 이렇게 파 라 메 터 를 분석 하면 됩 니 다
  • 코드
    var express = require("express");
    var router = express.Router();
    
    router.get("/", function(req, res, next) {
      //      
      res.header("Access-Control-Allow-Origin", "*");
      res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type");
      res.header("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTIONS");
      //     ,  
      var type = req.query.type;
      var page = req.query.page;
      type = type || "weixin";
      page = page || "1";
      //       
      var superagent = require("superagent"); //        ,      ,    ajax api
      var charset = require("superagent-charset"); //            ,      
      var cheerio = require("cheerio"); //          ,  、  、   jQuery    
      //       
      var baseUrl = "https://www.qqtn.com/";
      var route = "tx/" + type + "tx_" + page + ".html";
    
      charset(superagent);
    
      superagent
        .get(baseUrl + route)
        .charset("gb2312")
        .end(function(err, sres) {
          var items = [];
          if (err) {
            console.log("err", err);
            res.json({
              code: 400,
              msg: "err",
              data: items
            });
            return;
          }
          //        
          var $ = cheerio.load(sres.text);
          //   jquery      ,  
          $("div.g-main-bg ul.g-select-img li a").each(function(idx, element) {
            var $element = $(element);
            var $subElement = $element.find("img");
            var $thumbImgSrc = $subElement.attr("src");
            items.push({
              title: $element.attr("title"),
              href: $element.attr("href"),
              thumbSrc: $thumbImgSrc
            });
          });
          res.json({
            code: 200,
            msg: "success",
            data: items
          });
        });
    });
    
    module.exports = router;
    

    좋은 웹페이지 즐겨찾기