热门关键字:
jquery > jquery教程 > jquery教程 > jquery爬取页面数据

jquery爬取页面数据

368
作者:管理员
发布时间:2021/6/5 17:33:07
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4887
  搭建环境:


  (1)、创建一个文件夹,进入并初始化一个package.json文件。


  npm init -y


  (2)、安装相关依赖:


  npm install --save koa? ? npm install --save cheerio //后面会用到,用于抓取页面模块,为服务器特别定制的,快速、灵活、实施的jQuery核心实现


  现在来一个简单的demo热热身。直接上代码(文件名:demo2.js):


  var http=require('http') // Node.js提供了http模块,用于搭建HTTP服务端和客户端


  var url='' //输入任何网址都可以


  http.get(url,function(res){  //发送get请求


  var html=''


  res.on('data',function(data){


  html +=data  //字符串的拼接


  })


  res.on('end',function(){


  console.log(html)


  })


  })。on('error',function(){


  console.log('获取资源出错!')


  })


  执行node demo2.js? ?得到结果如下:


  很神奇有木有。然而这不是我们想要的,我们想要的是获取页面里面某一部份的数据。


  这里以 没事影院 的电视剧页面为例。这时候cheerio就派上用场了,前面已经安装过,这里就不再赘述,它的用法其实跟jquery是很相似的。参考?cheerio(百度百科的解释)


  在刚刚的js文件中引入cheerio模块,然后加载所需要的html内容。


  var $=cheerio.load(html)? // 加载需要的html


  为了方便使用,这里封装一个函数:


  functionfilterChapters(html) {var $=cheerio.load(html)  //加载需要的html,然后就可以愉快地使用类似jQuery的语法了


  var chapters=$('.movie-item')  //在html里寻找需要的资源的class


  var courseData=[] //创建一个数组,用来保存资源


  chapters.each(function(item, index) {  //遍历我们的html文档




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐