????????最近想找?guī)妆拘≌f來看看凡辱,確實是有很多網(wǎng)站可以找到占锯,但是無奈廣告巨多,提供的下載鏈接還屎飘。会油。个粱。說多都是淚啊。既然你不仁翻翩,就沒辦法了都许。只有通過爬蟲來爬了你啦稻薇。
puppeteer是谷歌發(fā)布的NodeJs庫。通過DevTools Protocol用于控制chrome或者chromium胶征,里面提供了高級API塞椎,默認(rèn)以無頭瀏覽器的方式啟動。
puppeteer API文檔在這里可以查找
????????puppeteer這個工具睛低,個人覺得不錯案狠,配置簡單方便。ok钱雷,就此決定是你啦骂铁。下面介紹小說爬蟲工具的平生吧。急波。从铲。
1.安裝nodejs(LTS版本就好了)
#ubuntu
下載完成后是一個壓縮包,直接解壓到自己想放的位置去澄暮。這里我直接放到了$HOME文件夾中名段。然后配置下鏈接就可以使用了。
tar xvJf node-v8.11.3-linux-x64.tar.xz -C ~/
cd ~/node-v8.11.3-linux-x64/bin
sudo ln -s node /usr/bin/node
sudo ln -s npm /usr/bin/npm
#windows
windows可以選擇下載的包有有msi和zip泣懊,隨便選一個下載伸辟。msi直接安裝在C盤就ok(畢竟是命令工具),zip包也建議解壓到C盤目錄馍刮。
這里建議是(C:\Program Files (x86)\nodejs\)信夫。msi文件的安裝可以選擇加入環(huán)境變量,但是zip包還需要自己配置卡啰,具體配置方法請搜索環(huán)境變量配置方法静稻,把bin里面的 node 和 npm 執(zhí)行文件的目錄加入PATH中。
以上步驟完成后匈辱,請打開終端測試(windows 系統(tǒng):win+R 輸入CMD回車)
輸入命令
node -v
輸出 v8.11.3(這是版本號)就ok了振湾。
2安裝puppeteer
命令行執(zhí)行
npm i puppeteer --save -g
????????安裝過程可能會下載chromium。如果下載失敗請搜索 cnpm亡脸。下載完成后未必可以馬上使用押搪,坑爹的npm有可能會把包放到了一個node找不到的位置去。這時候需要為剛才下載的包配置下環(huán)境變量(至少我在windows上需要浅碾,下載到的目錄是:C:\Users\你的用戶名\AppData\Roaming\npm\node_modules 加入環(huán)境變量中)大州。ok至此環(huán)境已經(jīng)完全搞定。趕緊試下怎么用垂谢。
3使用puppeteer
新建一個 hello.js文件
/*加載puppeteer庫*/
const puppeteer = require('puppeteer');
/*定義一個異步函數(shù)執(zhí)行*/
(async ()=> {
//創(chuàng)建一個瀏覽器
var browser = await puppeteer.launch({
headless:false, //是否以無頭模式運行
}).catch(ex => {
console.log(ex);
});
if (!browser) {
console.log('browser launch failed!');
return;
}
//創(chuàng)建一個新頁面
var page = await browser.newPage().catch(ex=>{
console.log(ex);
});
if (!page) {
console.log('fail to open page!');
browser.close().catch(e=>{});
return;
}
var respond = await page.goto("http://www.baidu.com/", {
'waitUntil':'domcontentloaded',
'timeout':120000
}).catch(ex=>{
console.log(ex);
});
if (!respond) {
console.log('fail to goto website!');
browser.close().catch(e=>{});
return;
}
})()
然后到文件目錄下打開終端厦画,執(zhí)行
node hello.js
成功打開瀏覽器即成功!滥朱!
恭喜根暑,邁向了成功的一步了娃豹。
下一篇將講解爬取小說的基本邏輯