Utiliser Puphpeteer avec Docker

À propos de cet article

Présentez Puphpeteer à un projet existant

C'est un mémo pour moi

travail

in-container-terminal


$ composer require nesk/puphpeteer
$ npm install @nesk/puphpeteer puppeteer

Modifiez php.ini si la mousse est en mémoire

php.ini


memory_limit=1G

Dockerfile


FROM php:7.4.1-fpm

#réduction

#Installer le marionnettiste
RUN apt-get install -y nodejs gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils libgbm-dev wget
RUN npm install --global --unsafe-perm puppeteer

#Installation de polices japonaises(Si vous n'entrez pas ceci, les caractères seront déformés sur le site japonais)
RUN apt-get install fonts-ipafont-gothic fonts-ipafont-mincho

#réduction

Succès si «example.png» est créé en exécutant le processus suivant

puppeteer


<?php

use Illuminate\Console\Command;
use Nesk\Puphpeteer\Puppeteer;

class Scraping
{

    public function main()
    {
        $puppeteer = new Puppeteer;
        $browser = $puppeteer->launch([
            'args' => ['--no-sandbox', '--disable-setuid-sandbox']
    	]);
        $page = $browser->newPage();
        $page->goto('https://example.com');
        $page->screenshot(['path' => 'example.png']);

        $browser->close();
    }
}

référence

https://qiita.com/HeRo/items/9be64b559692e12cc109

Recommended Posts

Utiliser Puphpeteer avec Docker
Utiliser GDAL avec Python avec Docker
[Docker] À utiliser à tout moment avec Docker + Rails
Utilisation de cuda11.0 avec pytorch en utilisant Docker
Utiliser le lien symbolique avec la construction en plusieurs étapes de Docker
Utiliser ProGuard avec Gradle
Lancez MariaDB avec Docker
Exploser Docker avec WSL2
Utiliser Amazon ECR Credential Helper avec Docker Desktop
Utilisez XVim2 avec Xcode 12.0.1
Utilisation de CentOS avec LXD
Exploitez Emby avec Docker
Exécutez Payara avec Docker
Utiliser Webmock avec Rspec
Utiliser les WebJars avec Gradle
Utilisez jlink avec gradle
PHP jetable avec Docker
Utiliser Thymeleaf avec Azure Functions
Déployer avec EC2 / Docker / Laravel
Exécutez TAO Core avec Docker
Gestion Docker avec VS Code
Utiliser le certificat pfx avec Okhttp3
Configurer GitLab avec docker
Utiliser l'API Bulk avec RestHighLevelClient
Utilisez SDKMAN! Avec Git Bash
Exécuter des rails à chaque fois dans le docker
Paramètre de démarrage automatique de Docker avec wsl2
[Docker] Construction de l'environnement Rails 5.2 avec docker
Utilisez plusieurs bases de données avec Rails 6.0
Spring Boot à partir de Docker
Créer un environnement Docker avec WSL
Gérer la version de CocoaPods avec Docker
Utiliser Spring JDBC avec Spring Boot
Application Web construite avec docker (1)
J'ai essayé BIND avec Docker
Utilisez Ruby avec Google Colab
Utiliser SpatiaLite avec Java / JDBC
Utilisez log4j2 avec YAML + Gradle
Construire DynamoDB local avec Docker
Utilisation de PlantUml avec Honkit [Docker]
[PHP8] Installer et utiliser la fonction YAML de PECL (analyseur YAML) avec Docker
Utiliser le shell intégré de docker avec cygwin [docker exec -it bash]
Vous devez utiliser winpty avec docker exec [Windows]
Utiliser PlantUML avec Visual Studio Code