亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

Chrome Headless

什么是Chrome Headless

Headless Chrome 是 Chrome 瀏覽器的無界面形態,可以在不打開瀏覽器的前提下,使用所有 Chrome 支持的特性運行你的程序,簡而言之,除了沒有圖形界面,headless chrome具有所有現代瀏覽器的特性,可以像在其他現代瀏覽器里一樣渲染目標網頁,并能進行網頁截圖,獲取cookie,獲取html等操作。 而對于寫爬蟲的同學,很多都會面臨都一個問題,那就是數據都是通過動態渲染,甚至是加密得到的,普通的分析接口模式早已無法滿足需求,因此我們引入Chrome Headless 來解決數據渲染問題。

部署 Chrome Headless

因為環境部署不是本文的重點,因此我們直接推薦docker。

docker pull alpeware/chrome-headless-trunk
docker run -d -p 9222:9222 alpeware/chrome-headless-trunk

訪問debug 地址即可得到接口信息

curl http://{HOST}:9222/json

以下例子中,{HOST}定義的IP主機響

驅動Chrome Headless

Chrome Headless 可以通過websocket協議進行遠程驅動debug。首先我們引入easyswoole的websocket客戶端。

composer require easyswoole/http-client

我們以網站 https://datacenter.jin10.com/price 為例子,我們打開可以發現,里面的數據都是通過websocket實時刷新的,這個時候,通過傳統手段抓接口的手段,是很難實現的。模擬實現如下:

use EasySwoole\HttpClient\HttpClient;
use EasySwoole\Spl\SplBean;
use Swoole\WebSocket\Frame;

static $i = 0;

//定義命令bean,具體協議格式可以看 Chrome Headless 文檔

class Command extends SplBean{
    protected $method;
    protected $id;
    protected $params;
    protected function initialize(): void
    {
        if(empty($this->id)){
            global $i;
            $i++;
            $this->id = $i;
        }
    }
}
//用websocket協議去驅動Chrome Headless
go(function (){
    $targetUrl = 'https://datacenter.jin10.com/price';
    $ch = curl_init('http://{HOST}:9222/json');
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    $data = json_decode( curl_exec($ch) ,true);
    $client = new HttpClient($data[0]['webSocketDebuggerUrl']);
    if($client->upgrade()){
        //打開URL
        $command = new Command([
            'method'=>'Page.navigate',
            'params'=>[
                'url'=>$targetUrl
            ]
        ]);
        $client->getClient()->push($command->__toString());
        $client->recv(1);
        //模擬等待渲染
        \co::sleep(2);
        //實現 js 語句
        $command = new Command([
            'method'=>'Runtime.evaluate',
            'params'=>[
                'expression'=>"var p = document.querySelector('#J_pricewall > div:nth-child(1) > ul > li:nth-child(1)').innerHTML;p;"
            ]
        ]);
        $client->getClient()->push($command->__toString());
        //此處就可以得到渲染后的數據了
        $data = json_decode($client->recv()->data,true)['result']['result']['value'];
        var_dump($data);

    }else{
        var_dump('handshake fail');
    }
});

以上教程僅供學習之用,請勿用于非法用途

亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    久久综合中文色婷婷| 一区二区三区四区免费视频| 亚洲韩日在线| 亚洲一区二区精品在线观看| 国产精品一 二 三| 亚洲欧美视频| 国产精品一二| 亚洲欧洲综合| 激情成人亚洲| 国内精品久久久久国产盗摄免费观看完整版| 九色视频成人porny| 国产高清在线一区| 999精品在线观看| 久久久久久黄| 久久久久欧美| 91九色极品视频| 老牛嫩草一区二区三区日本| 日韩一级大片| 国产精品免费看| 国产精品久久久久久久久久妞妞| 亚洲成人在线| 国产偷自视频区视频一区二区| 伊人久久婷婷| 一本色道久久精品| 亚洲一卡久久| 97影院在线午夜| 国产一区二区高清不卡| 国产精成人品localhost| 国产精品免费一区二区| 久久精品国产综合精品| 日韩电影天堂视频一区二区| 亚洲bbw性色大片| 欧美成人有码| aa成人免费视频| 久久亚洲欧美| 免费在线国产精品| 最新不卡av| 亚洲激情二区| 不卡一卡2卡3卡4卡精品在| 国产欧美日韩一区| 日韩亚洲欧美精品| 今天的高清视频免费播放成人| 国产亚洲亚洲| 久久不射网站| 美日韩免费视频| 欧美激情在线| 久久亚洲美女| 性欧美videosex高清少妇| 狠狠久久婷婷| 国产精品乱码视频| 亚洲国产一区二区三区在线播| 一区免费在线| 国产嫩草一区二区三区在线观看| 147欧美人体大胆444| 日产国产精品精品a∨| 一区在线观看| 好吊妞www.84com只有这里才有精品 | 国产精品一区二区三区在线| 免费看国产精品一二区视频| 好吊日精品视频| 99re6在线| 欧美99久久| 国产高清在线一区| 欧美日韩影院| 国产精品免费一区二区三区| 欧美成人首页| 国产美女精品在线观看| 欧美日韩成人| 精品在线视频一区二区| 亚洲国产精品一区制服丝袜 | 一本色道久久综合亚洲精品婷婷| 国产视频一区三区| 日韩精品极品视频在线观看免费| 99re热精品| 午夜精品亚洲一区二区三区嫩草| 国产精品一区亚洲| 亚洲成色www久久网站| 午夜在线一区二区| 女人色偷偷aa久久天堂| 国产精品亚洲综合| 国产日韩一区二区| 在线观看成人一级片| 国产免费高清一区| 亚洲欧美大片| 午夜精品视频在线观看一区二区| 国产精品伊人日日| 亚洲精品婷婷| 午夜久久久久| 日韩精品一区二区三区丰满| 久久婷婷麻豆| 亚洲美女啪啪| 欧美亚州在线观看| 亚洲高清视频一区二区| 国产一区视频观看| 久久激情网站| 国产视频一区在线观看一区免费| 欧美一区二区| 天天综合色天天综合色hd| 精品国产一区二区三区日日嗨| 亚洲在线播放| 在线精品一区| 韩日成人av| 午夜精品久久99蜜桃的功能介绍| 欧美最大成人综合网| 精品国产aⅴ麻豆| 999精品在线观看| 性一交一乱一区二区洋洋av| 99国产一区| 黄色亚洲在线| 伊人蜜桃色噜噜激情综合| 欧美日韩理论| 国产精品国产三级欧美二区| 欧美国产高潮xxxx1819| 亚洲午夜精品久久久中文影院av| 欧美精品成人一区二区在线观看 | 1024精品一区二区三区| 欧美日韩一区二区视频在线观看 | 国产日产精品一区二区三区四区 | 合欧美一区二区三区| 在线 亚洲欧美在线综合一区| 国产一区二区三区四区hd| 欧美日韩亚洲一区二区三区在线| 欧美精品午夜| 在线日韩中文| 亚洲一区三区视频在线观看| 亚洲在线国产日韩欧美| 久久一区国产| 国产伦精品一区二区三区免费视频| 国产精品久久久久久免费观看 | 鲁丝片一区二区三区| 欧美大陆一区二区| 日韩在线三级| 欧美三级第一页| 国产精品免费看| 国产精品jizz视频| 日本一区二区三区视频在线观看| 先锋影音网一区| 亚洲精品一区二区三区蜜桃久 | 尤物网精品视频| 噜噜噜噜噜久久久久久91| 国产精品我不卡| 亚洲欧美日韩精品综合在线观看| 国产精品国产一区二区| 香蕉成人久久| 久久国产精品99久久久久久丝袜| 色视频一区二区三区| 韩日午夜在线资源一区二区| 先锋亚洲精品| 欧美一区三区二区在线观看| 欧美精品aa| 91精品天堂| 伊人久久大香线蕉成人综合网| 亚洲高清毛片| 国产精品久久波多野结衣| 亚洲五月六月| 蜜桃伊人久久| 亚洲欧美成人一区| 亚洲男人影院| 三区精品视频| 亚洲欧美日本国产专区一区| 精品中文字幕一区| 黄色一区二区三区四区| 高清国产一区| 国内一区二区三区| 国产精品乱码| 精品1区2区3区4区| 精品亚洲一区二区三区四区五区高| 女主播福利一区| 豆国产97在线| 在线成人亚洲| 日本一区视频在线观看免费| 国产精品一区视频网站| 亚洲一区三区视频在线观看| 久久资源在线| 狠狠综合久久| 欧美1o一11sex性hdhd| 国产精品视频免费观看| 欧美一区二区视频在线| 国新精品乱码一区二区三区18| 日韩网站在线| 中文字幕一区二区三区最新| 国产精品美女诱惑| 国产精品推荐精品| 欧美福利电影在线观看| 久久精品国产第一区二区三区最新章节 | 国产日韩欧美一区二区| 亚洲国内在线| 美女久久一区| 国产精品国产三级欧美二区 | 国产视频在线观看一区| 国产日韩精品一区观看| 亚洲精品永久www嫩草| 国产女人水真多18毛片18精品| 影音先锋久久精品| 欧美va亚洲va日韩∨a综合色| 久久精品日产第一区二区三区 | 国产一区免费在线| 久久久久国产精品一区三寸 | 欧美区日韩区| 亚洲欧美日韩精品综合在线观看|