2018-07-14
Node
0

目录

爬取CSS + JS
爬取文章
自定义headers

本文仅用于学习爬虫,学习爬虫可以帮助你更好地了解网络和网站的工作原理,并获取网站上的数据。但是请记住,在进行爬取时,请始终遵守网络礼仪和法律法规,避免对网站或其他人造成损失或伤害。

爬取CSS + JS

js
var request = require('request'); var fs=require('fs'); var cheerio=require('cheerio'); let fileUrl='./personal'; function fetchContent(element,attr,body){ let $=cheerio.load(body); Array.prototype.forEach.call($(element),(item,index)=>{ let url=$(element).eq(index).attr(attr); if(url){ request(url,function(error,response,body){ let arr=url.split('/'); const name=`${fileUrl}/${arr[arr.length-1]}`; fs.appendFile(name,body) }) } }); } request('http://xxx.com', function (error, response, body) { fs.appendFile(`${fileUrl}/index.html`,body); fetchContent('script','src',body) fetchContent('link','href',body) });

爬取文章

js
var request = require('request'); var fs=require('fs'); var cheerio=require('cheerio'); let url='https://xxx.com'; request(url, function (error, response, body) { let $=cheerio.load(body,{ decodeEntities:false //文本不会被转义 }); let content=$('.j_readContent').text() console.log(content) fs.appendFile('文章.text',content) });

自定义headers

使用request自定义headers

js
let request=require('request') request({ url:'http://xxx.com', headers: { 'host': "biz.f139.com", 'referer':"http://biz.f139.com/", 'user-agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1' } }, function (error, response, body) { console.log(body,'body') });

使用superagent自定义headers

js
var superagent = require('superagent'); superagent .get('http://xxx.com') .set('referer','http://biz.f139.com') .set('host',"biz.f139.com") .set('user-agent','Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1') .end(function(err, res) { if (err) { console.log(err,'err') } else { console.log(res.text,'res') } })

本文作者:BARM

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!