• node.js 开发简易的小爬虫


      node.js  开发简易的小爬虫

       最近公司开发一款医药类的软件,所以需要一些药品的基础数据,所以本人就用node.js写一个简易的小爬虫,并写记录这个Demo以供大家参考。

    一、开发前的准备:

      1,开发前肯定是需要安装node.js的,这个我就不多罗嗦了,网上有的是教程。

        下载地址:https://nodejs.org/en/download/

        一直下一步的傻瓜式安装就可以了

        在cmd中检查Node.js版本,npm的版本

        

      2.开发前必要的资源安装:  

        npm install cheerio(用来解析获取的页面)

    二、话不多说,代码供上

      举例获取连接http://yp.120ask.com/detail/13369.html页面中的药品基础数据:

     1 var http = require('http');
     2 var cheerio = require('cheerio');
     3 var fs = require('fs');
     4 var url = 'http://yp.120ask.com/detail/13369.html'
     5 //解析获取的页面用cheerio进行解析
     6 function filterDrugDecri(html){
     7     var $ = cheerio.load(html);
     8     var drugDecri=$('.drugDecri').text()
     9     return drugDecri;
    10 }
    11 //输出内容到drugDecri.text文件
    12 function printDrugDecriInfo(drugDecri){
    13       fs.appendFile("drugDecri"+ '.txt', drugDecri, 'utf-8', function (err) {
    14         if (err) {
    15             console.log(err);
    16         }
    17     });
    18 }
    19 //请求连接获取数据
    20 http.get(url,function(res){
    21     var html='';
    22     res.on('data',function(data){
    23         html +=data
    24     })
    25 
    26     res.on('end', function() {
    27         var drugDecri = filterDrugDecri(html)
    28         printDrugDecriInfo(drugDecri)
          console.log("数据加载完毕")
    29 }); 30 }).on('error', function() { 31 console.log("获取数据出错!") 32 });

    三、执行文件

    文件位置为:D:java odecariwer.js

      在cmd中进入该文件目录中执行:node cariwer

    数据加载完毕。生成drugDecri.txt文件

    四、转载注明出处,谢谢。

  • 相关阅读:
    关于SimpleDateFormat安全的时间格式化线程安全问题
    JAVA多线程和并发基础面试问答
    探秘Java中的String、StringBuilder以及StringBuffer
    Java开发岗位面试题归类
    Java并发编程:阻塞队列
    Shell基本概述
    Ansible--06 ansible roles
    Ansible --05 ansible jinja2
    Ansible--04 ansible 流程控制
    Ansible--03 ansible 变量
  • 原文地址:https://www.cnblogs.com/fxwl/p/6437526.html
Copyright © 2020-2023  润新知