http 小爬虫

初学nodejs写一个http小爬虫,爬虫就是把网页上的代码爬下来。

代码:

var http = require(‘http‘) //加载http模块
var url = ‘http://www.imooc.com/learn/713‘

http.get(url,function(res){   //get去请求url,此处以慕课网为例
var html = ‘‘
res.on(‘data‘,function(data){
html += data     //请求数据赋值给前面定义的html
})
res.on(‘end‘,function(){
console.log(html)  //打印html
}).on(‘error‘,function(){
console.log(‘获取课程数据出错!‘)
})
})

保存,然后在node环境下运行 ,命令:node 文件名

亲测成功。

案例二:

首先需要安装一下cheerio模块,cheerio模块可以在服务器端使用jquery的方式

安装方法:

npm install cheerio

首先开启本地一个服务器测试一下

//js代码

var http = require(‘http‘)

http

  .createServer(function(req,res){

res.writeHead(200,{‘Content-Type‘:‘text/plain});

res.write(‘开始了‘);

res.end();

}).listen(8080);

下面贴代码:

‘use strict‘;
var http = require(‘http‘)
var cheerio = require(‘cheerio‘)
var url = ‘http://www.imooc.com/learn/348‘
function filterChapters(html){
var $ = cheerio.load(html)
var chapters = $(‘.chapter‘)
/*[{
chapterTitle: ‘‘,
videos:[
title:‘‘,
id: ‘‘
]
}]*/
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,
videos:[]
}
videos.each(function(item){
var video = $(this).find(‘.J-media-item‘)
var videoTitle = video.text()
var id = video.attr(‘href‘).split(‘video/‘)[1]
chapterData.videos.push({
title: videoTitle,
id: id
})

})
courseData.push(chapterData)
})
return courseData
}
function printCourseInfo(courseData){
console.log(‘获取课程数据1!‘)
courseData.forEach(function(item){
var chapterTitle = item.chapterTitle
console.log(chapterTitle + ‘\n‘)
item.videos.forEach(function(video){
console.log(‘【‘ + video.id +‘】‘ + video.title + ‘\n‘)
})
console.log(‘获取课程数据2!‘)
})
}
http.get(url,function(res){
var html = ‘‘
res.on(‘data‘,function(data){
html += data
})
res.on(‘end‘,function(){
var courseData = filterChapters(html)
printCourseInfo(courseData)
}).on(‘error‘,function(){
console.log(‘获取课程数据出错!‘)
})
console.log(‘获取课程数据3!‘)

})

亲测有效
时间: 2024-10-10 06:25:20

http 小爬虫的相关文章

今天来做一个PHP电影小爬虫。

今天来做一个PHP电影小爬虫.我们来利用simple_html_dom的采集数据实例,这是一个PHP的库,上手很容易.simple_html_dom 可以很好的帮助我们利用php解析html文档.通过这个php封装类可以很方便的解析html文档,对其中的html元素进行操作 (PHP5+以上版本)下载地址:https://github.com/samacs/simple_html_dom下面我们以 http://www.paopaotv.com 上的列表页 http://paopaotv.com

python之小爬虫

#!/usr/bin/python #抓取网页上的图片保存 import urllib import urllib.request //python3版本将urllib2分成urllib.request和urllib.error import re def gethtml(url): page = urllib.request.urlopen(url) html = page.read() return html def getImages(html): reg = r'src="(.*?\.j

Python网页小爬虫

最近右胳膊受伤,打了石膏在家休息.为了实现之前的想法,就用左手打字.写代码,查资料完成了这个资源小爬虫.网页爬虫, 最主要的是协议分析(必须要弄清楚自己的目的),另外就是要考虑对爬取的数据归类,存储.这是一个在线歌曲网站的爬虫,网站名 字就不说了,此贴目的是技术交流,请不用做其他用途! 相关技术点:http协议.js.AES.文件.文件夹操作.正则表达式.数据库技术.SQL -------------------------------------------分割线 以下 为设计思路------

Python 基础学习 网络小爬虫

<span style="font-size:18px;"># # 百度贴吧图片网络小爬虫 # import re import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) imgli

初学nodejs---http小爬虫

1 //HTTP小爬虫 2 //×××××类似 $.AJAX×××××× 3 4 5 var http = require('http'); //加载http模块 6 7 var cheerio = require('cheerio');//加载第三方模块 cheerio 类似JQuery 8 9 // 安装方法 npm install cheerio 10 11 12 function printCourseInfo(courseData) {//打印函数 传入获取数据 13 courseDa

爬虫入门实战,知乎小爬虫

相比于爬虫框架,知乎小爬虫,更加适合初学者,尤其是想要了解爬虫技术细节.实现自己编写爬虫需求的初学者. 1. 谈爬虫工程师的价值 大数据时代已到,数据越来越具有价值了,没有数据寸步难行,有了数据好好利用,可以在诸多领域干很多事,比如很火的互联网金融.从互联网上爬来自己想要的数据,是数据的一个重要来源,而且往往是必不可少的来源.所有,目前,爬虫工程师是一个非常吃香的职位,工资往往都不低,就是要耐得住寂寞了.那爬虫工程师的价值也就是能稳定的.高效的和实时的带来数据.这里推荐看两篇文章: http:/

Python第一个程序小爬虫

最近想上手Python.快速入门一门语言的方法就是写个小Demo.Python Demo必须是爬虫了.第一个小爬虫程序有些简陋,高手勿喷. 关于爬虫主要分为三个部分:根据队列中的URL爬取界面.获取内容.保存结果. 程序是以百度网站大全为种子URL,抓取页面中URL依次放入队列中,爬虫从URL队列依次取得新URL继续向外爬取. # -*- coding: utf-8 -*- import urllib2 import re import thread import time class HTML

Python小爬虫-自动下载三亿文库文档

新手学python,写了一个抓取网页后自动下载文档的脚本,和大家分享. 首先我们打开三亿文库下载栏目的网址,比如专业资料(IT/计算机/互联网)http://3y.uu456.com/bl-197?od=1&pn=0,可以观察到,链接中pn=后面的数字就是对应的页码,所以一会我们会用iurl = 'http://3y.uu456.com/bl-197?od=1&pn=',后面加上页码来抓取网页. 一般网页会用1,2,3...不过机智的三亿文库用0,25,50...来表示,所以我们在拼接ur

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

代码: 1 var http = require("http"); 2 3 var cheerio = require("cheerio"); 4 5 6 var url = 'http://www.imooc.com/learn/348'; 7 8 9 http.get(url, function(res){ 10 var html = ''; 11 12 res.on('data', function(data){ 13 html += data; 14 });