国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
當前位置: 首頁 - 科技 - 知識百科 - 正文

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

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

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

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

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

Puppeteer

簡介

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

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

特性

Puppeteer 可以完整地模擬一個瀏覽器的行為,并且可以進行截圖、攔截瀏覽器請求、獲取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,每次都需要載入頁面再進行頁面分析,性能十分有限,下面提到的 cheerio 則可以從另一層面解決這個問題。

文檔

GitHub 

中文API地址

cheerio

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

特性

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

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>

自己寫的獲取某個網(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設備的自動化工具,對于爬取某些加固措施較好的APP來說十分有用,而且有非常完善的文檔以及社區(qū),十分良心。

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

特性

作為爬蟲工具,好處有:

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

從Auto.js載入某個APP,并點擊進入某個頻道的例子:

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

文檔

GitHub
中文文檔
社區(qū)

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

文檔

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

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

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产亚洲欧美日韩俺去了 | 国产在线播放网站 | 天天色图 | 国产不卡一区 | 青青热久久国产久精品秒播 | 国产精品毛片久久久久久久 | 国产成人成人一区二区 | 大陆一级毛片 | 日韩精品在线免费观看 | 亚洲欧美啪啪 | 久久久久成人精品一区二区 | 亚洲色图 欧美 | 欧美视频免费看 | 九九热这里有精品 | 日韩不卡手机视频在线观看 | 欧美爱爱动态图 | 国产不卡一区二区视频免费 | 欧美精品一区二区三区视频 | 午夜精品视频在线观看 | 97久久精品一区二区三区 | 最新亚洲| 国产在线观看精品一区二区三区91 | 波多野结衣网站 | 91在线 | 欧美: | 亚洲第一视频 | 免费日本黄色网址 | 成人欧美一区二区三区视频 | 国产精品久久久久激情影院 | 亚洲高清一区二区三区 | 国产一区二区福利久久 | 亚洲欧洲高清有无 | 国产精品久久久久毛片 | 国产精品久久久精品三级 | 在线免费观看国产 | 日韩中文字幕免费版 | 韩国精品在线观看 | 久久国产精品一区二区 | 亚洲一区日韩一区欧美一区a | 国产丝袜美女一区二区三区 | 阿v精品一区二区三区 | 天天射综合|