Verwenden Sie Puphpeteer mit Docker

Über diesen Artikel

Führen Sie Puphpeteer in ein vorhandenes Projekt ein

Es ist ein Memo für mich

Arbeit

in-container-terminal


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

Ändern Sie "php.ini", wenn sich Moos im Speicher befindet

php.ini


memory_limit=1G

Dockerfile


FROM php:7.4.1-fpm

#Kürzung

#Puppenspieler installieren
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 japanischer Schriftarten(Wenn Sie dies nicht eingeben, werden die Zeichen auf der japanischen Website verstümmelt)
RUN apt-get install fonts-ipafont-gothic fonts-ipafont-mincho

#Kürzung

Erfolg, wenn example.png durch Ausführen des folgenden Prozesses erstellt wird

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();
    }
}

Referenz

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

Recommended Posts

Verwenden Sie Puphpeteer mit Docker
Verwenden Sie GDAL mit Python mit Docker
[Docker] Wird immer mit Docker + Rails verwendet
Verwenden von cuda11.0 mit pytorch mit Docker
Verwenden Sie Symbolic Link für den mehrstufigen Build von Docker
Verwenden Sie ProGuard mit Gradle
Starten Sie MariaDB mit Docker
Explodiere Docker mit WSL2
Verwenden Sie Amazon ECR Credential Helper mit Docker Desktop
Verwenden Sie XVim2 mit Xcode 12.0.1
Verwenden von CentOS mit LXD
Bedienen Sie Emby mit Docker
Führen Sie Payara mit Docker aus
Verwenden Sie Webmock mit Rspec
Verwenden Sie WebJars mit Gradle
Verwenden Sie jlink mit gradle
Einweg-PHP mit Docker
Verwenden Sie Thymeleaf mit Azure-Funktionen
Bereitstellung mit EC2 / Docker / Laravel
Führen Sie TAO Core mit Docker aus
Docker-Management mit VS-Code
Verwenden Sie das pfx-Zertifikat mit Okhttp3
Richten Sie GitLab mit Docker ein
Verwenden Sie die Bulk-API mit RestHighLevelClient
Verwenden Sie SDKMAN! Mit Git Bash
Führen Sie Rails immer im Docker aus
Docker Autostart-Einstellung mit wsl2
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Verwenden Sie mit Rails 6.0 mehrere Datenbanken
Spring Boot beginnend mit Docker
Erstellen einer Docker-Umgebung mit WSL
Verwalten Sie die CocoaPods-Version mit Docker
Verwenden Sie Spring JDBC mit Spring Boot
Mit Docker erstellte Webanwendung (1)
Ich habe BIND mit Docker ausprobiert
Verwenden Sie Ruby mit Google Colab
Verwenden Sie SpatiaLite mit Java / JDBC
Verwenden Sie log4j2 mit YAML + Gradle
Erstellen Sie DynamoDB local mit Docker
Verwenden von PlantUml mit Honkit [Docker]
[PHP8] Installieren und verwenden Sie die YAML-Funktion (YAML-Parser) von PECL mit Docker
Verwenden Sie die In-Container-Shell des Dockers mit cygwin [docker exec -it bash]
Sie müssen winpty mit Docker Exec [Windows] verwenden.
Verwenden Sie PlantUML mit Visual Studio Code