node爬蟲(chóng)(二)

我們繼續(xù)上一次的進(jìn)度,這一次我們爬一個(gè)網(wǎng)站的圖片。

  • 文中使用的是chrome瀏覽器,沒(méi)有的話需要安裝。
  • 我的node版本是7.10.0。

start

這次我們爬取的網(wǎng)站是多玩圖庫(kù)。

我們想要獲取的dom節(jié)點(diǎn)是圖下的$('li.masonry-brick')節(jié)點(diǎn),里面包括我們想要的網(wǎng)頁(yè)鏈接和圖片鏈接。

$('.masonry-brick')節(jié)點(diǎn)

代碼如下,我的index.js文件

require('chromedriver'); //chrome瀏覽器驅(qū)動(dòng)
let webdriver = require('selenium-webdriver'); //瀏覽器自動(dòng)操作
let cheerio = require('cheerio'); //獲取頁(yè)面數(shù)據(jù)
let fs = require('fs');

let driver = new webdriver.Builder().forBrowser('chrome').build()

let data = new Map()

driver.get('http://tu.duowan.com/tu')  //目標(biāo)網(wǎng)站
driver.getPageSource().then((val) => {
  const $ = cheerio.load(val);  //解析網(wǎng)站
  let result = $('.masonry-brick:not(.tags) a').find('img') //尋找有圖片的節(jié)點(diǎn)
  let parent,textNode,title,link,imgSrc;
  result.each((i,elem) => {
    let obj = {};
    parent = $(elem).closest('li') //圖片所在li父節(jié)點(diǎn)
    textNode = parent.find('em a')
    title = textNode.text()
    link = textNode.attr('href')
    imgSrc = $(elem).attr('src')

    obj = {
      imgSrc,
      link
    }
    data.set(title,obj)
  })

  for(item of data.entries()) {
    console.log(item)
  }
  driver.close()
})

在cmd輸入命令,node index.js

獲取到相關(guān)圖片和鏈接

成功!


相關(guān)文章信息:
node爬蟲(chóng)一
node爬蟲(chóng)二
node爬蟲(chóng)三

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容