Задать вопрос
Ответы пользователя по тегу PhantomJS
  • PhantomJS: как сохранить циклом html код нескольких страниц?

    @s-dimyan Автор вопроса
    нет, так тоже не работает. создаются 2 файла html, только там не страница а теги
    <html><head></head><body></body></html>

    Проблема решена!!!
    Для этого я создал на localhost папку parser с файлами started.php и pars_page.js. PHP запускает PhantomJS и скрипт
    файл started.php:
    // массив ссылок
    	$mass_url = [
    		"https://www.myscore.ru/match/bNYBihO3/#odds-comparison;over-under;full-time", 
    		"https://www.myscore.ru/match/nRJYS03A/#odds-comparison;over-under;full-time"
    	];
    	// перебор по ссылкам
    	for($i=0; $i<count($mass_url); $i++){
    		// запускаем phantomjs
    		// запускаем скрипт JS
    		// первый аргумент - URL страницы
    		// второй аргумент - имя файла для сохранения ее содержимого
    		exec("start C:\phantomjs\bin\phantomjs pars_page.js ".$mass_url[$i]." text".$i.".html");
    	}


    файл pars_page.js:
    var page = require('webpage').create(); // создаем окно браузера куда будем загружать страницы
    var system = require('system'); // Инициализируем модуль system
    var address = system.args[1]; // адрес страницы (первый после наименования скрипта аргумент system)
    var path = system.args[2]; // наименование создаваемого файла с содержимым страницы (второй аргумент system)
    var fs = require('fs'); // Инициализируем модуль fs для записи в файл
    
    page.open(address, function (status) { // открываем страницу в окне браузера
      fs.write(path, page.content, 'w'); // записываем содержимое страницы в файл
      phantom.exit(); // закрываем phantomjs
    });


    У меня всё отлично работает!
    Ответ написан
    Комментировать