• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    如何用Node寫頁面爬蟲的工具集

    來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:05:51
    文檔

    如何用Node寫頁面爬蟲的工具集

    如何用Node寫頁面爬蟲的工具集:最近做了幾個(gè)寫爬蟲的小項(xiàng)目(從頁面端到APP端的都有),在網(wǎng)上搜尋了一番好用的爬蟲工具,做了個(gè)工具集整理: Puppeteer 簡介 Puppeteer 是一個(gè)Node庫,它提供了一個(gè)高級 API 來通過 DevTools協(xié)議控制Chromium或Chrome。簡單點(diǎn)說,就是使用No
    推薦度:
    導(dǎo)讀如何用Node寫頁面爬蟲的工具集:最近做了幾個(gè)寫爬蟲的小項(xiàng)目(從頁面端到APP端的都有),在網(wǎng)上搜尋了一番好用的爬蟲工具,做了個(gè)工具集整理: Puppeteer 簡介 Puppeteer 是一個(gè)Node庫,它提供了一個(gè)高級 API 來通過 DevTools協(xié)議控制Chromium或Chrome。簡單點(diǎn)說,就是使用No

    最近做了幾個(gè)寫爬蟲的小項(xiàng)目(從頁面端到APP端的都有),在網(wǎng)上搜尋了一番好用的爬蟲工具,做了個(gè)工具集整理:

    Puppeteer

    簡介

    Puppeteer 是一個(gè)Node庫,它提供了一個(gè)高級 API 來通過 DevTools協(xié)議控制Chromium或Chrome。簡單點(diǎn)說,就是使用Node命令控制一個(gè)無需渲染至用戶界面的瀏覽器。

    與使用 PhantomJS 搭配 Python 進(jìn)行爬蟲抓取類似,其原理也是去完全地模擬一個(gè)瀏覽器進(jìn)行頁面的渲染,從而抓取其中某些特定的內(nèi)容。

    特性

    Puppeteer 可以完整地模擬一個(gè)瀏覽器的行為,并且可以進(jìn)行截圖、攔截瀏覽器請求、獲取Cookie、通過Node注入JS代碼等操作,使用Chrome瀏覽器開發(fā)者工具能做到的,Puppeteer也能做到。

    使用起來也十分的簡單,以下是官方的例子:

    const puppeteer = require('puppeteer');
    
    (async () => {
     const browser = await puppeteer.launch();
     const page = await browser.newPage();
     await page.goto('https://example.com');
     await page.screenshot({path: 'example.png'});
    
     await browser.close();
    })();
    
    

    在GitHub上放了一份自己寫的使用Puppeteer獲取微博cookie的代碼,歡迎查看:

    https://github.com/SP-Lyu/puppeteer_weibo_cookie/blob/master/index.js

    由于 Puppeteer 基于Chromium,每次都需要載入頁面再進(jìn)行頁面分析,性能十分有限,下面提到的 cheerio 則可以從另一層面解決這個(gè)問題。

    文檔

    GitHub 

    中文API地址

    cheerio

    cheerio 是一個(gè)輕型靈活,類jQuery的對HTML元素分析操作的工具。在進(jìn)行一些server端渲染的頁面以及一些簡單的小頁面的爬取時(shí), cheerio 十分好用且高效。

    特性

    cheerio 包括了jQuery的核心子集,意味著可以直接使用jQuery的API進(jìn)行元素的操控,官方的例子:

    const cheerio = require('cheerio')
    const $ = cheerio.load('<h2 class="title">Hello world</h2>')
    
    $('h2.title').text('Hello there!')
    $('h2').addClass('welcome')
    
    $.html()
    //=> <h2 class="title welcome">Hello there!</h2>
    
    

    自己寫的獲取某個(gè)網(wǎng)站的所有a鏈接:

    const cheerio = require('cheerio');
    const get = function(){/*HTTP get請求...*/}
    (async ()=>{
     const html = await get(`http://example.com`);
     const $ = cheerio.load(html);
     const $dom_arr = $('a');
     $dom_arr.each((index, elem)=>{
     const url = $(elem).attr('href') || '';
     console.log(url);
     });
    })();
    
    

    文檔

    GitHub

    Auto.js

    國人開發(fā)的,使用js編寫代碼操作Android設(shè)備的自動(dòng)化工具,對于爬取某些加固措施較好的APP來說十分有用,而且有非常完善的文檔以及社區(qū),十分良心。

    使用Auto.js進(jìn)行設(shè)備自動(dòng)化操作,再通過代理進(jìn)行請求數(shù)據(jù)的獲取,能繞開加固中難以破解的加密串。

    特性

    作為爬蟲工具,好處有:

    1. 采用JavaScript作為腳本語言開發(fā),JS開發(fā)者0成本接入;
    2. 兼容性良好,大多數(shù)任務(wù)不需要root權(quán)限;
    3. 自帶界面分析工具,方便定位需要操作的元素。

    從Auto.js載入某個(gè)APP,并點(diǎn)擊進(jìn)入某個(gè)頻道的例子:

    // 聲明環(huán)境
    auto();
    // 設(shè)備常亮
    device.keepScreenDim();
    // 調(diào)起APP
    launchApp('頭條');
    sleep(10000);
    // 找到某個(gè)頻道,并點(diǎn)擊進(jìn)入
    var rect = text('視頻').findOnce().bounds();
    var x = rect.centerX();
    var y = rect.centerY();
    click(x, y);
    // 點(diǎn)擊進(jìn)入詳情,使用代理抓取并處理請求...
    ...
    

    文檔

    GitHub
    中文文檔
    社區(qū)

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    如何用Node寫頁面爬蟲的工具集

    如何用Node寫頁面爬蟲的工具集:最近做了幾個(gè)寫爬蟲的小項(xiàng)目(從頁面端到APP端的都有),在網(wǎng)上搜尋了一番好用的爬蟲工具,做了個(gè)工具集整理: Puppeteer 簡介 Puppeteer 是一個(gè)Node庫,它提供了一個(gè)高級 API 來通過 DevTools協(xié)議控制Chromium或Chrome。簡單點(diǎn)說,就是使用No
    推薦度:
    標(biāo)簽: 頁面 網(wǎng)頁 的工具
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日韩精品无码免费视频| 欧美性videos高清精品| 欧美亚洲日本久久精品| 国产精品999| 亚洲国产另类久久久精品黑人| 欧美+亚洲+精品+三区| 老汉精品免费AV在线播放| 精品久久久久久无码中文野结衣| 国产日韩精品中文字无码| 亚洲A∨午夜成人片精品网站| 99riav国产精品| 91麻豆国产福利精品| 亚洲av无码乱码国产精品| 久久久久久久久久免免费精品| 99久久伊人精品综合观看| 精品国产福利第一区二区三区| 精品久久久久久国产潘金莲 | 日韩精品欧美亚洲| 国产精品99无码一区二区| 国产精品福利一区二区| 国产AV国片精品| 精品少妇无码AV无码专区| 无码人妻精品一区二区三区99仓本 | 亚洲国产91精品无码专区| 国产精品亚洲玖玖玖在线观看 | 国产在线精品免费aaa片| 亚洲欧美激情精品一区二区| 日本精品久久久久久久久免费| 精品一区二区三区高清免费观看 | 免费看一级毛片在线观看精品视频 | 亚洲精品国产品国语在线| 中文字幕在线亚洲精品| 伊人精品久久久久7777| 中文精品久久久久人妻| 亚洲欧美日韩国产精品专区| 亚洲国产精品福利片在线观看| 亚洲精品无码不卡在线播放HE| 日韩精品无码熟人妻视频| 精品无码一区二区三区亚洲桃色| 久久久久久亚洲精品成人| 国产成人精品一区二区秒拍|