欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Node爬蟲實(shí)踐

爬蟲的原理很好理解,就是在服務(wù)端請(qǐng)求另一個(gè)服務(wù)器的資源,前端有跨域問題,而服務(wù)端沒有,這是天然優(yōu)勢。掌握node的前端可以為所欲為了。Node爬蟲實(shí)踐

成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。

1 首先,根據(jù)請(qǐng)求資源的協(xié)議選擇合適的模塊,比如csdn是https協(xié)議,就用https的方法取請(qǐng)求,之前沒有注意到這個(gè)問題。

var?https?=?require('https');

2 用get方法請(qǐng)求需要抓去內(nèi)容的網(wǎng)頁地址,試過用request方法,沒有反應(yīng)。

?https.get('https://www.xxx.net',function(res){
????????......
?})

3 用cheerio模塊查找dom元素,抓取需要的內(nèi)容。cheerio是服務(wù)端的dom操作工具,以jquery為內(nèi)核。

var?cheerio?=?require('cheerio');
?????res.on('data',?(chunk)?=>?{
????????const?$?=?cheerio.load(chunk);
????????let?content=$('.company_list');
?????})

4 把圖片的絕對(duì)地址改成本地路徑,前端頁面無法直接訪問跨域受保護(hù)圖片。

let?imgsrc=[];
content.find('img').each((index,e)=>{
????
????var?originsrc=e.attribs.src;
????e.attribs.src?='/images/'+e.attribs.src.split('?')[0].split('/').pop();
????imgsrc.push(originsrc);

})

5 最后一步,也是最重要的一步:把圖片保存在本地文件夾。試過fs.readFile 和fs.writeFile,保存下來的圖片受損打不開;試過直接get請(qǐng)求,返回的圖片都是0字節(jié)。正確的方法是用request方法,至于為什么?我也不清楚啊??赡苁莃inary二進(jìn)制的優(yōu)勢,畢竟再怎么偽裝,所有數(shù)據(jù)本質(zhì)還是二進(jìn)制吧。

var?request?=?require('request');
imgsrc.forEach(item=>{

????var?filename?=?item.split('?')[0].split('/').pop();

????request({?url:?item,?encoding:?null?},?(err,?response,?body)?=>?{?
????????fs.writeFileSync('./public/images/'+filename,?body,?{?encoding:?'binary'?});
????})

})

到此為止,爬蟲的功能就結(jié)束了。Node爬蟲實(shí)踐

分享名稱:Node爬蟲實(shí)踐
瀏覽路徑:http://chinadenli.net/article4/giepoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、品牌網(wǎng)站建設(shè)、微信公眾號(hào)、建站公司、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)