亚洲精品成人_精品成人一区_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>
    欧美日韩亚洲在线| 亚洲欧美日韩另类精品一区二区三区| 亚洲欧美视频| 六月丁香综合| 国产在线精品日韩| 日韩三级在线播放| 欧美日韩在线播放一区二区| 亚洲欧洲午夜| 国产九色精品| 你懂的网址国产 欧美| 国产一区二区黄色| 久久精品国产理论片免费| 亚洲精品一区二区三区av| 黑丝一区二区三区| 国产激情美女久久久久久吹潮| 欧美黑人3p| 国产综合欧美在线看| 久久中文在线| 日韩黄色影视| 国产久一道中文一区| 免费在线成人av电影| 亚洲激情一区| 麻豆av一区| 日韩亚洲视频在线| 奇米视频888战线精品播放| 99精品国产高清一区二区| 丁香五月网久久综合| 欧美久久久久久久| 国产在线精品一区| 伊人久久成人| 欧美自拍资源在线| 在线一区亚洲| 一区二区三区四区视频在线观看| 亚洲欧美日本视频在线观看| 亚洲欧美电影在线观看| 91精品国产99久久久久久红楼| 亚洲欧美日韩国产yyy| 91精品国产综合久久久久久丝袜 | 久久99精品久久久久久秒播放器| 自拍视频一区二区三区| 国产精品中出一区二区三区| 亚洲高清网站| 亚洲欧美日韩国产yyy| 国产91精品一区二区绿帽| 亚洲福利一区| 欧美在线免费| 九九热久久66| 久久久777| 一区二区在线不卡| 中文视频一区视频二区视频三区| 国产欧美日韩一区| 久久久久久久久久久一区| 韩日视频一区| 欧美国产91| 欧洲亚洲一区二区| 久久久久久久久久久久久久一区| 午夜亚洲性色福利视频| 日韩午夜av| 激情亚洲成人| 欧美日韩国产一区精品一区| 日韩精品无码一区二区三区| 国内视频一区二区| 国产精品一区二区三区四区五区| 六月婷婷一区| 97netav| 国产精品一区在线观看| 亚洲国产日韩欧美| 亚洲国产免费| 一级成人国产| 99在线热播精品免费99热| 亚洲午夜精品一区二区| 欧美三级不卡| 在线观看亚洲视频啊啊啊啊| 欧美天天视频| 亚洲国产日韩欧美| 在线视频精品一区| 亚洲一区二区三区免费在线观看| 激情五月***国产精品| 99一区二区| 国产欧美日韩一级| 久久久久久久波多野高潮日日| 麻豆av福利av久久av| 久久免费黄色| 国产综合 伊人色| 欧美精品尤物在线| 欧美粗暴jizz性欧美20| 极品尤物久久久av免费看| 激情六月综合| 久久大逼视频| 国产91视觉| 日本一区二区免费看| 亚洲国产一区在线| 黄色一区三区| 69174成人网| 日本视频一区二区在线观看| 欧美ab在线视频| 一本色道精品久久一区二区三区 | 午夜精彩国产免费不卡不顿大片| 亚洲欧美综合| 亚洲一区高清| 精品一区国产| 国产精品videosex极品| 亚洲欧美日韩精品在线| 欧美xxxx黑人又粗又长精品| 亚洲在线播放电影| 99精品视频免费观看视频| 国产精品久久久久久久天堂第1集| 蜜桃传媒视频第一区入口在线看| 欧美日韩hd| 久久激情婷婷| 日韩三级电影免费观看| 国产日韩一区二区三区| 九九九九久久久久| 亚洲精品无人区| 久久久久成人精品免费播放动漫| 亚洲欧美一级二级三级| caoporen国产精品| 亚洲一区二区三区色| 亚洲一区区二区| 日韩欧美在线观看强乱免费| 国产日韩欧美高清免费| 美女三级99| 亚洲男人影院| 亚洲午夜精品久久久中文影院av | 乱一区二区三区在线播放| 在线免费高清一区二区三区| 国产精品日韩二区| 在线观看欧美亚洲| 久久亚洲综合网| 国产欧美激情| 欧美在线二区| 精品无码久久久久久久动漫| 激情五月***国产精品| 欧美重口乱码一区二区| 久久婷婷国产综合尤物精品| 一区二区精品视频| 免费成人在线观看av| 亚洲欧美视频| 最新亚洲一区| 一区二区三区四区不卡| 精品欧美国产| 久久精品首页| 99精品国产在热久久婷婷| 性欧美大战久久久久久久免费观看 | 亚洲国产mv| 亚洲欧美日韩精品久久久| 狠狠色噜噜狠狠色综合久| 日韩亚洲一区在线播放| 亚洲综合视频一区| 国产嫩草一区二区三区在线观看 | 国产美女在线精品免费观看| 欧美va天堂| 亚洲精品一区二区三区四区五区 | 亚洲国产激情| 日韩av在线一区二区三区| 97人人做人人人难人人做| 91久久精品国产91久久性色tv| 伊人久久大香线蕉综合75| 人禽交欧美网站免费| 国产手机精品在线| 国产精品日韩高清| 国产成人av一区二区三区| 母乳一区在线观看| 国产精品日本欧美一区二区三区| 国产精品mv在线观看| 欧美日韩国产不卡在线看| 亚洲欧洲精品在线观看| 视频一区二区综合| 欧美日韩一区二区三区在线视频| 北条麻妃高清一区| 国产精品乱码| 国产精品成人观看视频免费| 国产91社区| 久久精品99| 91国产在线播放| 国产精品久久7| 国产一区二区免费在线观看| 国产在线一区二区三区四区| 好吊色欧美一区二区三区| 精品免费日产一区一区三区免费| 久久精品日产第一区二区三区精品版| 国产精品久久精品国产| 九九九九精品| 中文字幕中文字幕一区三区| 在线播放豆国产99亚洲| 亚洲国产日韩在线| 久久精品在线| 久久免费看av| 欧美大片一区| 亚洲精品综合| 147欧美人体大胆444| 精品福利影视| 午夜精彩国产免费不卡不顿大片| 亚洲午夜在线| 3d蒂法精品啪啪一区二区免费| 国产一区自拍视频| 一区二区精品视频| 一本色道久久综合亚洲精品婷婷| 99re国产视频| 午夜精品区一区二区三|