首页 / NODEJS / nodejs制作爬虫程序
nodejs制作爬虫程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nodejs制作爬虫程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2100字,纯文字阅读大概需要4分钟。
内容图文
在nodejs中,可以通过不断对服务器进行请求,以及本身的fs =》filesystem 模块和clientRequest模块对网站的资源进行怕取,目前只做到了对图片的趴取!视频文件格式各异,有的视频网站上视频可能是加密过的。无法爬取来;
‘use strict‘; const http = require(‘http‘); const fs = require(‘fs‘); const path = require(‘path‘); // 创建一个clientRequest对象 // const cr = http.get(‘http://www.baidu.com‘); // cr.on(‘response‘, (res) => { // console.log(‘服务端接受到我的请求了‘); // console.log(res); // }) // 需要将所有的img标签对应的src属性值提取出来 //再次发起请求,将突破保存在本地的磁盘上面; //给定一个url,将其下载到本地磁盘;封装一个函数 //不断调用这个函数;使用正则表达式,提取所需要的字符串; // const cr = http.get(‘http://www.dbmeinv.com/‘, (res) => { // let str; // // 注册data流事件; // res.on(‘data‘, (chunk) => { // str += chunk; // }); // //注册end事件; // res.on(‘end‘, () => { // console.log(str); // }) // }) // const cr = http.get(‘‘); // cr.on(‘response‘, (res) => { // console.log(‘服务端接受到我的请求了‘); // console.log(res); // let data = ‘‘; // res.on(‘data‘,(chunk)=>{ // data += chunk; // }); // res.on(‘end‘,()=>{ // console.log(data); // }) // });for(let i =1;i<17;i++) { // let num = Math.random()*12000+ let url =‘https://user.qzone.qq.com/812551954‘; // console.log(url); down(url); } function down(url){ http.get(url,(res)=>{ let data = ‘‘; res.on(‘data‘,(chunk)=>{ data += chunk; }); res.on(‘end‘,()=>{ //文件 let regexp = /src="(http:\/\/[0-9a-zA-Z.\/]+jpg)"/g; let arr = []; let temp; while((temp=regexp.exec(data))!=null){ arr.push(temp[1]); } // console.log(arr); arr.forEach((item)=>{ download(item); }) }) }); } //用正则表达式去匹配对应的图片资源;// 首先编写函数下载单张图片 // 目标地址 // 获取目标页面的所有内容; 包括html等;function download(url) { // let url = "http://ww2.sinaimg.cn/large/0060lm7Tgy1fe69ac1v44j30dw0k3gof.jpg"//创建一个clientRequest对象,向服务器发送请求; http.get(url, (res) => { res.setEncoding(‘binary‘); let data = ‘‘; //数据开始传输事件; res.on(‘data‘, (chunk) => { data += chunk; }); //数据传输结束的时候,将其接受 res.on(‘end‘, () => { let pic = path.basename(url); //此时图片的内容已经在data中了;//图片存储的路径 let file = path.join(‘pic‘, pic); fs.writeFile(file, data, ‘binary‘, (err) => { if (err) throw err; console.log(`图片${pic}下载成功`); }) }) }) }
原文:http://www.cnblogs.com/qqfontofweb/p/6664094.html
内容总结
以上是互联网集市为您收集整理的nodejs制作爬虫程序全部内容,希望文章能够帮你解决nodejs制作爬虫程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。