国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

puppeteer的簡(jiǎn)單使用_爬取頁(yè)面信息

ARGUS / 2317人閱讀

摘要:使用無(wú)頭瀏覽器做爬蟲有什么拿什么它是的一個(gè)用來(lái)操縱瀏覽器的的庫(kù),對(duì)的你沒(méi)看錯(cuò),就是操作瀏覽器的,細(xì)思極恐啊簡(jiǎn)單說(shuō)就是瀏覽器有的它都有了當(dāng)然有些功能也正在開發(fā)中可以注冊(cè),模擬登陸,設(shè)置操作事件,執(zhí)行腳本團(tuán)隊(duì)對(duì)其維護(hù),厲害了吧文檔地址安裝首先

使用chrome無(wú)頭瀏覽器做爬蟲 - 有什么拿什么 puppeteer
它是Node的一個(gè)用來(lái)操縱瀏覽器的API的庫(kù),對(duì)的你沒(méi)看錯(cuò),就是操作瀏覽器的,細(xì)思極恐啊
簡(jiǎn)單說(shuō)就是瀏覽器有的它都有了(當(dāng)然有些功能也正在開發(fā)中)
可以注冊(cè),模擬登陸,設(shè)置cookie
操作dom事件,執(zhí)行js腳本
Chrome團(tuán)隊(duì)對(duì)其維護(hù),厲害了吧
文檔地址:https://github.com/GoogleChro...
安裝
首先Nodejs 的版本不能低于 v7.6.0, 因?yàn)槿际?async, await 異步操作
npm install puppeteer -S
出現(xiàn)安裝問(wèn)題的小伙伴可以試一試npm的內(nèi)置配置文件,當(dāng)前目錄下新建一個(gè).npmrc結(jié)尾的文件,內(nèi)容如下
registry=https://registry.npm.taobao.org
chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver
phantomjs_cdnurl=https://npm.taobao.org/dist/phantomjs
electron_mirror=https://npm.taobao.org/mirrors/electron/
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
puppeteer_download_host=https://cdn.npm.taobao.org/dist
官網(wǎng)的demo
const puppeteer = require("puppeteer");
(async () => {
  // 創(chuàng)建一個(gè)瀏覽器實(shí)例 Browser 對(duì)象
  const browser = await puppeteer.launch();
  // 通過(guò)瀏覽器實(shí)例 Browser 對(duì)象創(chuàng)建頁(yè)面 Page 對(duì)象
  const page = await browser.newPage();
  // 通過(guò)url參數(shù)打開指定的頁(yè)面
  await page.goto("https://example.com");
  // 對(duì)頁(yè)面進(jìn)行截圖
  await page.screenshot({path: "example.png"});
  // 關(guān)閉瀏覽器
  await browser.close();
})();
先來(lái)個(gè)最最基本的抓取 實(shí)戰(zhàn)_抓取2345小說(shuō)站任意書籍的章節(jié)列表

兩個(gè)箭頭標(biāo)記的

觀察url,.html之前的數(shù)字就是抓取書籍的bookId

章節(jié)列表所在容器標(biāo)簽

上干貨,都在注釋里了


抓取的結(jié)果

完整代碼
const puppeteer = require("puppeteer");
(async ()=>{
    try{
        // 創(chuàng)建一個(gè)瀏覽器實(shí)例 Browser 對(duì)象
        let browser = await puppeteer.launch({
            // 是否不顯示瀏覽器, 為true則不顯示
            "headless": false,
        });
        // 通過(guò)瀏覽器實(shí)例 Browser 對(duì)象創(chuàng)建頁(yè)面 Page 對(duì)象
        let page = await browser.newPage();
        // 設(shè)置瀏覽器信息
        const UA = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36";
        await Promise.all([
            page.setUserAgent(UA),
            // 允許運(yùn)行js
            page.setJavaScriptEnabled(true),
            // 設(shè)置頁(yè)面視口的大小
            page.setViewport({width: 1100, height: 1080}),
        ]);
        // 地址
        let chapter_list_url = `http://book.km.com/chapterlist/396353.html`
        // 打開章節(jié)列表
        await page.goto(chapter_list_url);
        // 使用css選擇器的方式
        let content= await page.$eval("#xtopjsinfo > div.wrapper > div.container > div.catalog > div.catalog_bd", el => el.innerText);
        console.log(content);
    }catch(err){
        console.log(err)
    }
})()

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/107035.html

相關(guān)文章

  • puppeteer進(jìn)階版_爬取小說(shuō)站

    摘要:寫爬蟲抓取頁(yè)面是不是還需要等待頁(yè)面有數(shù)據(jù)了才能抓取,那么頁(yè)面渲染的這段時(shí)間雖然不長(zhǎng)但架不住多啊是不是可以省去呢時(shí)間要好好的利用起來(lái)基礎(chǔ)不太了解的可以參考我這篇簡(jiǎn)單使用的文章使用抓取接口攔截?cái)?shù)據(jù)這里有小伙伴就要說(shuō)了我都知道接口了直接去請(qǐng)求不就 寫爬蟲抓取頁(yè)面是不是還需要等待頁(yè)面有數(shù)據(jù)了才能抓取,那么頁(yè)面渲染的這段時(shí)間(雖然不長(zhǎng)但架不住多啊)是不是可以省去呢 時(shí)間要好好的利用起來(lái) 基礎(chǔ)不太...

    qpal 評(píng)論0 收藏0
  • Puppeteer初探--爬取并生成《ES6標(biāo)準(zhǔn)入門》PDF

    摘要:首先介紹是一個(gè)庫(kù),他提供了一組用來(lái)操縱的默認(rèn)也就是無(wú)的,也可以配置為有有點(diǎn)類似于,但是官方團(tuán)隊(duì)進(jìn)行維護(hù)的,前景更好。使用,相當(dāng)于同時(shí)具有和的能力,應(yīng)用場(chǎng)景會(huì)非常多。 首先介紹Puppeteer Puppeteer是一個(gè)node庫(kù),他提供了一組用來(lái)操縱Chrome的API(默認(rèn)headless也就是無(wú)UI的chrome,也可以配置為有UI) 有點(diǎn)類似于PhantomJS,但Puppet...

    JerryWangSAP 評(píng)論0 收藏0
  • puppeteer爬蟲

    摘要:利用空閑時(shí)間,學(xué)習(xí)了下爬蟲,我也想爬取下網(wǎng)上的資源部分參數(shù)名稱參數(shù)類型參數(shù)說(shuō)明在請(qǐng)求的過(guò)程中是否忽略報(bào)錯(cuò)信息,默認(rèn)為是否以無(wú)頭的模式運(yùn)行,也就是不顯示,默認(rèn)為可執(zhí)行文件的路徑,默認(rèn)是使用它自帶的如果你想指定一個(gè)自己的路徑,可以通過(guò)這個(gè)參數(shù)設(shè) 利用空閑時(shí)間,學(xué)習(xí)了下puppeteer爬蟲,我也想爬取下網(wǎng)上的資源 1.部分api puppeteer.launch(options) 參數(shù)...

    scola666 評(píng)論0 收藏0
  • Node 批量爬取頭條視頻并保存

    摘要:目標(biāo)網(wǎng)站西瓜視頻項(xiàng)目功能下載頭條號(hào)維辰財(cái)經(jīng)下的最新個(gè)視頻項(xiàng)目地址地址姊妹項(xiàng)目批量下載美女圖集簡(jiǎn)介一般批量爬取視頻或者圖片的套路是,使用爬蟲獲得文件鏈接集合,然后通過(guò)等方法逐個(gè)保存文件。然而在批量下載時(shí),逐個(gè)手動(dòng)的獲取視頻鏈接顯然不可取。 目標(biāo)網(wǎng)站:西瓜視頻 項(xiàng)目功能:下載頭條號(hào)【維辰財(cái)經(jīng)】下的最新20個(gè)視頻 項(xiàng)目地址:Github 地址 姊妹項(xiàng)目:批量下載美女圖集 簡(jiǎn)介 一般批量...

    Jioby 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

ARGUS

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<