真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Node爬蟲實(shí)踐-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)敖漢,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

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方法,至于為什么?我也不清楚啊。可能是binary二進(jìn)制的優(yōu)勢(shì),畢竟再怎么偽裝,所有數(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í)踐

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前名稱:Node爬蟲實(shí)踐-創(chuàng)新互聯(lián)
本文鏈接:http://weahome.cn/article/pdidj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部