欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

NodeJs如何實(shí)現(xiàn)簡(jiǎn)單的爬蟲功能-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)NodeJs如何實(shí)現(xiàn)簡(jiǎn)單的爬蟲功能的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)滑縣免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

1.爬蟲:爬蟲,是一種按照一定的規(guī)則,自動(dòng)地抓取網(wǎng)頁信息的程序或者腳本;利用NodeJS實(shí)現(xiàn)一個(gè)簡(jiǎn)單的爬蟲案例,爬取Boss直聘網(wǎng)站的web前端相關(guān)的招聘信息,以廣州地區(qū)為例;

2.腳本所用到的nodejs模塊

express     用來搭建一個(gè)服務(wù),將結(jié)果渲染到頁面

    swig          模板引擎

    cheerio      用來抓取頁面的數(shù)據(jù)

    requests    用來發(fā)送請(qǐng)求數(shù)據(jù)(具體可查:https://www.npmjs.com/package/requests)

    async        用來處理異步操作,解決請(qǐng)求嵌套的問題,腳本中只使用了async.whilst(test,iteratee,callback),具體可見:https://caolan.github.io/async/

3.實(shí)現(xiàn)流程:

   首先先獲取到所爬取頁面的URL,打開boss直聘網(wǎng)站,搜索web前端既可以獲取到 https://www.zhipin.com/c101280100-p100901/?page=1&ka=page-next

NodeJs如何實(shí)現(xiàn)簡(jiǎn)單的爬蟲功能

   然后通過Chrome瀏覽器打開F12,獲取到信息中多對(duì)應(yīng)的dom節(jié)點(diǎn),即可知道想要獲取信息;

NodeJs如何實(shí)現(xiàn)簡(jiǎn)單的爬蟲功能

   4.代碼實(shí)現(xiàn)

      目錄結(jié)構(gòu):

NodeJs如何實(shí)現(xiàn)簡(jiǎn)單的爬蟲功能

      app.js

var cheerio = require('cheerio');
var requests = require('requests');
var async = require('async');
var express = require('express');
var swig = require('swig');
var app = express();
swig.setDefaults({cache:false});
app.set('views','./views/');
app.set('view engine','html');
app.engine('html',swig.renderFile);
app.get('/',function(req,res,next){
 var page = 1; //當(dāng)前頁數(shù)
 var list = []; //保存記錄
 async.whilst(
  function(){
   return page < 11;
  },
  function(callback){
   requests(`https://www.zhipin.com/c101280100-p100901/?page=${page}&ka=page-next`)
   .on('data',function(chunk){
   var $ = cheerio.load(chunk.toString());
   $('.job-primary').each(function(){
    var company = $(this).find('.info-company .company-text .name').text();
    var job_title = $(this).find('.info-primary .name .job-title').text();
    var salary = $(this).find('.info-primary .name .red').text();
    var description = $(this).find('.info-company .company-text p').text();
    var area = $(this).find('.info-primary p').text();
    var item = {
     company:company,
     job_title:job_title,
     salary:salary,
     description:description,
     area:area
    };
    list.push(item);
   });
   page++;
   callback();
   }).on('end',function(err){
     if(err){
      console.log(err);
     }
     if(page==10){
     res.render('index',{
      lists:list
     });
    }
   });
  },
  function(err){
   console.log(err);
  }
 );
});

//監(jiān)聽
app.listen(8080);

 view/index.html頁面

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<style>
 table{
  width:1300px;
  border:1px solid #ccc;
  border-collapse: collapse;
  text-align: center;
  margin:0 auto;
 }
 td,tr,th{
  border:1px solid #ccc;
  border-collapse: collapse;
 }
 tr{
  height:30px;
  line-height: 30px;
 }
</style>
<body>
 <table>
  <thead>
   <tr>
    <th>公司名稱</th>
    <th>公司地址</th>
    <th>薪資</th>
    <th>公司描述</th>
    <th>崗位名稱</th>
   </tr>
  </thead>
  <tbody>
   {% for list in lists %}
    <tr>
     <td>{{list.company}}</td>
     <td>{{list.area}}</td>
     <td>{{list.salary}}</td>
     <td>{{list.description}}</td>
     <td>{{list.job_title}}</td>
    </tr>
   {% endfor %}
  </tbody>
 </table>
</body>
</html>

5.啟動(dòng)

  直接通過 node app.js啟動(dòng)即可;

6.運(yùn)行結(jié)果(http://localhost:8080),只截取部分?jǐn)?shù)據(jù)

NodeJs如何實(shí)現(xiàn)簡(jiǎn)單的爬蟲功能

感謝各位的閱讀!關(guān)于“NodeJs如何實(shí)現(xiàn)簡(jiǎn)單的爬蟲功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站名稱:NodeJs如何實(shí)現(xiàn)簡(jiǎn)單的爬蟲功能-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://aaarwkj.com/article46/dippeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、響應(yīng)式網(wǎng)站定制網(wǎng)站、軟件開發(fā)用戶體驗(yàn)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
午夜少妇久久久久久久久| 中文岳妇荡欲丰满肥熟| 午夜看片福利欧美熟女| 日本欧美一区二区二区视频免费| 美女午夜福利精品视频| 精品久久亚洲一区二区欧美| 日韩不卡的在线视频| 女同伦理视频在线观看| 国产午夜在线影院一区二区| 亚洲精品人妻av在线| 正在播放老肥熟妇露脸| 欧美日韩亚洲高清专区| 天天做日日干夜夜操| 一本之道久久成人综合| 日韩av手机在线不卡| 另类视频网站在线观看| 亚洲永久免费精品一区二区三区| 欧美日韩精品一区二区在线| av在线日韩国产精品| 久久热这里只有视频精品| 亚洲欧美日韩成人在线观看| 最新人妻少妇精品中文字幕视频| 成人免费亚洲av在线| 日本女人体内射精视频| 一区二区三区亚洲精品在线| 国家成人午夜在线观看| 九色视频在线观看91| 91亚洲欧美日韩在线观看| 亚洲一区二区三区四区五区六| 加勒比人妻一区二区三区| 国产亚洲超级97免费视频| 十八禁真人无摭挡观看| 国产熟女精品自拍嫩草| 免费高清av一区二区| 传媒视频免费在线观看| 九九九热免费在线观看| 91伊人日本在线视频| 中国女人内射69xx| 91一区二区三区在线| 日本一区二区裸体视频| 国产一区二区黄色网页|