nodejs之小爬虫

北斗七七      2022-02-11     224

关键词:

一、简单的单页面
var http = require('http') var url = 'http://www.imooc.com/learn/348' 
http.get(url,function(res){ 
  var html = ''
    //有data触发时
    res.on('data',function(data){
        html += data
    })
    res.on('end',function(){
        console.log(html)
    })
//出现异常时
}).on('error',function(){
    console.log('获取出错')
})

var server = http.createServer(function(req,res){
        res.writeHead(200,{'Content-Type':'text/plain'})
        res.end();
    })
server.listen(2017)

  

运行结果

 

二、获取页面的课程列表

安装cheerio

cmd 执行命令 npm install  cheerio 然后就可以require cheerio

var http = require('http')
var cheerio = require('cheerio')
var url = 'http://www.imooc.com/learn/348'

//过滤页面,获取到列表的名称与id等信息 与javascript方法一致 function filterChapters(html){ var $ = cheerio.load(html) // console.log($) var chapters = $('.chapter') var courseData = [] chapters.each(function (item) { var chapter = $(this) var chapterTitle = chapter.find('strong').text() var videos = chapter.find('.video').children('li') var chapterData = { chapterTitle:chapterTitle, video:[] } // console.log(videos + '24') videos.each(function(item){ // var video = $(this).find('.studyvideo') var videoTitle = $(this).text() var id = $(this).attr("data-media-id") chapterData.video.push({ title:videoTitle, id:id }) }) courseData.push(chapterData) }) return courseData } //将获取到的信息打印出来 function printCourseInfo(courseData) { courseData.forEach(function(item){ var chapterTitle = item.chapterTitle item.video.forEach(function(video){ console.log('【' +video.id+'】' +video.title +'\n') }) }) } http.get(url,function(res){ var html = '' res.on('data',function(data){ html += data }) res.on('end',function(){ //过滤页面信息 // console.log(html) var courseData = filterChapters(html) printCourseInfo(courseData) }) }).on('error',function(){ console.log('获取出错') }) var server = http.createServer(function(req,res){ res.writeHead(200,{'Content-Type':'text/plain'}) res.end(); }) server.listen(1337)

运行结果

 

puppeteer之爬虫入门(代码片段)

译者按:本文通过简单的例子介绍如何使用Puppeteer来爬取网页数据,特别是用谷歌开发者工具获取元素选择器值得学习。原文:AGuidetoAutomating&ScrapingtheWebwithJavaScript(Chrome+Puppeteer+NodeJS)译者:Fundebug为了保证可读性,本文采用意译... 查看详情

nodejs爬虫前端爬虫系列

言归正传,前端同学可能向来对爬虫不是很感冒,觉得爬虫需要用偏后端的语言,诸如php,python等。当然这是在nodejs前了,nodejs的出现,使得Javascript也可以用来写爬虫了。由于nodejs强大的异步特性,让我们可以轻松以异步高并... 查看详情

nodejs小爬虫

记得先装载http这个模块打开cmd :npminstallhttp-gvarhttp=require(‘http‘)varurl=‘http://www.imooc.com/learn/348‘http.get(url,function(res){varhtml=‘‘res.on(‘data‘,function(data){html+=data})res.on(‘end‘,functi 查看详情

nodejs爬虫入门

1.写在前面往常都是利用Python/.NET语言实现爬虫,然现在作为一名前端开发人员,自然需要熟练NodeJS。下面利用NodeJS语言实现一个糗事百科的爬虫。另外,本文使用的部分代码是es6语法。实现该爬虫所需要的依赖库如下。request:利... 查看详情

nodejs.http模块,cheerio模块实现小爬虫.

 代码:1varhttp=require("http");23varcheerio=require("cheerio");456varurl=‘http://www.imooc.com/learn/348‘;789http.get(url,function(res){10varhtml=‘‘;1112res.on(‘data‘,function(data){13html+=data;14 查看详情

简单实现nodejs爬虫工具

约30行代码实现一个简单nodejs爬虫工具,定时抓取网页数据。 使用npm模块request---简单http请求客户端。(轻量级)fs---nodejs文件模块。 index.jsvarrequest=require(‘request‘);varfs=require("fs");varJJurl="https://recommender-api-ms.juejin.im/v 查看详情

nodejs爬虫简单编写

nodejs爬虫原理,先用request请求页面内容,把内容获取到并iconv-lite设置编码格式,再用cheerio进行类似dom操作合并内容,转换写入文件中1)获取单页面数据:varfs=require(‘fs‘)varrequest=require(‘request‘)variconvLite=require(‘iconv-lite‘)v... 查看详情

nodejs爬虫入门

nodejs是服务器端的语言,所以可以像python一样对网站进行爬取。准备1.项目初始化,执行npminit,来初始化package.json2.npminstallrequest—save3.npminstallasync--save文件中需要引入的包varrequest=require(‘request‘);varfs=require(‘fs‘);varasync=requi... 查看详情

nodejs爬虫笔记

 目标:爬取慕课网里面一个教程的视频信息,并将其存入mysql数据库。以http://www.imooc.com/learn/857为例。 一、工具 1.安装nodejs:(操作系统环境:WiN764位)   在Windows环境下安装相对简单(ps:其他版本我也不太清... 查看详情

nodejs制作爬虫程序

在nodejs中,可以通过不断对服务器进行请求,以及本身的fs =》filesystem模块和clientRequest模块对网站的资源进行怕取,目前只做到了对图片的趴取!视频文件格式各异,有的视频网站上视频可能是加密过的。无法爬取来;‘usestr... 查看详情

nodejs爬虫使用async控制并发写一个小说爬虫

最近在做一个书城项目,数据用爬虫爬取,百度了一下找到这个网站,以择天记这本小说为例。爬虫用到了几个模块,cheerio,superagent,async。superagent是一个http请求模块,详情可参考链接。cheerio是一个有着jQuery类似语法的文档... 查看详情

nodejs——简单小说爬虫实现

1//引入模块2consthttp=require(‘http‘)3constfs=require(‘fs‘)4constcheerio=require(‘cheerio‘)5consticonv=require(‘iconv-lite‘)6//第一章url7consturl=‘http://www.81zw.com/book/8634/745331.html‘8//开始章节数9leti=110/ 查看详情

nodejs爬虫selenium

6、元素操作查找元素使用操作如何找到页面元素Webdriver的findElement方法可以用来找到页面的某个元素,最常用的方法是用id和name查找。下面介绍几种比较常用的方法。ByID假设页面写成这样:<inputtype=”text”name=”userName”id=”u... 查看详情

基于nodejs的多页面爬虫

前言前端时间再回顾了一下node.js,于是顺势做了一个爬虫来加深自己对node的理解。 主要用的到是request,cheerio,async三个模块 request 用于请求地址和快速下载图片流。 https://github.com/request/request cheerio 为服... 查看详情

nodejs制作爬虫全过程

这篇文章主要介绍了NodeJS制作爬虫的全过程,包括项目建立,目标网站分析、使用superagent获取源数据、使用cheerio解析、使用eventproxy来并发抓取每个主题的内容等方面,有需要的小伙伴参考下吧。 今天来学习alsotang的爬虫教... 查看详情

nodejs实现一个简单的爬虫

nodejs是js语言,实现一个爬出非常的方便。 步骤1.使用nodejs的request模块,获取目标页面的html代码;https://github.com/request/request2.使用cheerio模块对html代码做处理(cheerio类似jQuery的语法,所以好用又方便)https://github.com/cheeriojs/c... 查看详情

nodejs爬虫笔记

思路:通过笔记(二)中代理的设置,已经可以对YouTube的信息进行爬取了,这几天想着爬取网站下的视频信息。通过分析YouTube,可以从订阅号入手,先选择几个订阅号,然后爬取订阅号里面的视频分类,之后进入到每个分类下... 查看详情

第一个nodejs爬虫:爬取豆瓣电影图片

第一个nodejs爬虫:爬取豆瓣电影图片存入本地:首先在命令行下npminstallrequestcheerioexpress-save;代码:varhttp=require(‘https‘);//使用https模块varfs=require(‘fs‘);//文件读写varcheerio=require(‘cheerio‘);//jquery写法获取所得页面dom元素varreques... 查看详情