当前位置: 首页 > news >正文

视频主播网站/seo薪资水平

视频主播网站,seo薪资水平,网泰网站建设网络推广,济南品牌网站建设公司Cheerio是 Node.js 特别为服务端定制的,能够快速灵活的对 JQuery 核心进行实现。它工作于 DOM模型 上,且解析、操作、呈送都很高效,适合各种Web爬虫程序。 数据源 爬虫要想爬取数据首先提供爬取数据的路径: url: http://www.hubw…

Cheerio是 Node.js 特别为服务端定制的,能够快速灵活的对 JQuery 核心进行实现。它工作于 DOM模型
上,且解析、操作、呈送都很高效,适合各种Web爬虫程序。 数据源

爬虫要想爬取数据首先提供爬取数据的路径:

url: http://www.hubwiz.com/course/562427361bc20c980538e26fhttp://xc.hubwiz.com/course/562427361bc20c980538e26f

爬虫目标

页面每一章节的标题及其中小节的标题名称。

小爬虫

首先引用了 nodejs 的核心模块 http 和提供了爬取路径,然后通过 http 中的 get 接口给 url 发送 get 请求,最回调函数中对请求回来的数据进行处理。

爬取数据

通过cheerio的 load 方法把html加载;然后对.panel通过 map 进行遍历。之后我们在 map 中 组装 要数据格式,如上述中chapterData。再对 小节 li 进行遍历,把 section 通过 push 方法 添加到 chapterData.section 的数组中。再把组装好的数据 push 到 我们创建的空数组 data 中。最后通过console.log进行输出。

处理数据

在大多数情况下我们爬取出来的数据,可能不是我们最终想要的东西比如说:数据中空值或者空格等等。在获取在通过 text 获取内容的后面跟随着一个 trim 的方法。这个方法的作用就是处理数据中空格和换行符。

空值的情况,在输出的数据中存在一个空的数组对象,通过 filter 方法去处理它 。

输出数据

crawlerChapter方法中得到的数据 data 组装,进行输出。

printInfo 方法中的参数 data ,这个参数需要 crawlerChapter 方法 returnprintInfo。然后就是 data 参数调用 filter 方法把数据为空的去掉。最后就是把章节拼接字符串进行输出。

参考源码:

var http = require('http');
var cheerio = require('cheerio');
var url = 'http://www.hubwiz.com/course/5437538a032c781670afddbe/';http.get(url, function (res) {var html = '';res.on('data', function (data) {html += data;});res.on('end', function () {var chapter = crawlerChapter(html);printInfo(chapter);})
}).on('error', function () {console.log('爬取页面错误')
});
function crawlerChapter(html) {var $ = cheerio.load(html);var chapters = $('.panel');var data = [];chapters.map(function (node) {var chapters = $(this);var chapterTitle = chapters.find('h4').text().trim();var sections = chapters.find('li');var chapterData = {chaptersTitle: chapterTitle,section: []};sections.map(function (node) {var section = $(this).text().trim();chapterData.section.push(section);});data.push(chapterData);});return data;
}
function printInfo(data) {data = data.filter(function filterByID(obj) {return obj.chaptersTitle ? true : false;});data.map(function (item) {var chapterTitle = item.chaptersTitle;console.log('【' + chapterTitle + '】');item.section.map(function (section) {console.log(' 【' + section + '】')})})
}
http://www.lbrq.cn/news/1475047.html

相关文章:

  • 信息化建设 网站/杭州百度
  • 安陆 网站建设/谷歌广告代理
  • 潜江哪里做网站/游戏搜索风云榜
  • 陕西省西咸新区开发建设管理委员会官方网站/百度搜索网页版
  • 杭州e时代互联网站建设/网站开发语言
  • 网站的建设和维护/微商如何引流与推广
  • 唐尧文化 网站建设工作总结/优化服务公司
  • wordpress的菜单和页面跳转/保定seo博客
  • 宁波企业网站推广效果好/网站流量排行
  • 佛山网络公司哪个好/百度关键词优化推广
  • 如何建论坛网站/百度竞价推广收费标准
  • 重庆网站建设技术支持重庆互联网/求几个微信推广平台
  • 不同网站建设报价单/品牌宣传策略有哪些
  • wordpress怎样搭建网站/深圳谷歌seo推广
  • 买了网站 怎么做呢/vi设计公司
  • 电子商务网站建设与管理 学习感想/搜索引擎入口google
  • 前端如何兼职做网站/推广游戏赚钱的平台有哪些
  • 网站外链是什么/网站搜索排名查询
  • 做打鱼网站的代理/高端网站制作
  • 深圳企业建网站/什么关键词能搜到资源
  • 句容网站/app注册推广团队
  • 网站建设网络合同/360渠道推广系统
  • 手机触屏网站制作软件/做一个网站要花多少钱
  • 部门做网站优点/整站优化多少钱
  • 做冷冻食品的网站/seo网站内容优化有哪些
  • 卢松松网站的百度广告怎么做的/小红书关键词排名怎么做
  • 郑州手机网站建设公司排名/如何做优化排名
  • 自己做直播网站/补肾壮阳吃什么药效果好
  • 做公司网站的流程/百度人工服务24小时电话
  • 做外贸一般用哪些网站好/网络营销的模式有哪些?
  • 道路坑洞检测数据集介绍8300张图片-智能道路巡检系统 车载安全监测设备 城市基础设施管理
  • DDD之整体设计流程(2)
  • kubectl中的yaml配置详解
  • 09_opencv_遍历操作图像像素
  • BUG记录——Request接传Json数据中文乱码
  • Spring AI 项目实战(二十一):Spring Boot + AI +DeepSeek驱动的智能题库系统(附完整源码)