Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: парсинг через php+phantomjs

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
k0ma
Отправлено: 16 Августа, 2017 - 15:56:12
Post Id


Гость


Покинул форум
Сообщений всего: 82
Дата рег-ции: Март 2013  


Помог: 1 раз(а)




Собственно необходимо залогинитсья на сайте при помощи PHP(сделано) далее с помощью phantomjs спарсить страницу после авторизации и покласть все полученные данные в отдельный файл для дальнейшего парсинга из него данных.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $url= 'https://123.ru/login';
  3. $ch = curl_init();
  4. curl_setopt ($ch, CURLOPT_HEADER, 1);
  5. curl_setopt ($ch, CURLOPT_URL, $url);// откуда пришли на эту страницу
  6. curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); //не проверять сертификат на хосте
  7. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); // не проверять сертификат на сервере
  8. curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); //следовать за перенаправлениями
  9. curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
  10. curl_setopt ($ch, CURLOPT_VERBOSE, 1); //полный отчет работы Curl
  11. curl_setopt ($ch, CURLOPT_REFERER, 'https://nsdb2c.altegrosky.ru/');
  12. curl_setopt ($ch, CURLOPT_POST, 1); // устанавливаем метод POST
  13. curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");  
  14. curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
  15. curl_setopt ($ch, CURLOPT_POSTFIELDS, 'j_username=login&j_password=pass');
  16. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  17. $html=curl_exec($ch); // выполняем запрос curl
  18.  
  19.  
  20. $title = shell_exec('phantomjs script.js https://123.ru/operator/');
  21.  
  22. echo "hello <br>".$result;
  23.  
  24. ?>

Собственно код script.js
CODE (htmlphp):
скопировать код в буфер обмена
  1. var webpage = require('webpage');
  2. var page = webpage.create();
  3.  
  4. page.settings = {
  5.   loadImages: false,
  6.   javascriptEnabled: true,
  7.   encoding: "utf8",
  8.   userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
  9. };
  10.  
  11. var page = require('webpage').create();
  12. phantom.cookiesEnabled = true;
  13.  
  14. page.open("https://123.ru/operator/", function(status) {
  15.   if (status === "success") {
  16.         window.setTimeout(function() {
  17.       page.render("qwerty.jpg");
  18.       phantom.exit();
  19.     }, 5000);
  20.   }
  21. });
 
 Top
Ch_chov
Отправлено: 16 Августа, 2017 - 17:15:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Цитата:
$title = shell_exec('phantomjs script.js https://123.ru/operator/');

Для этого есть PHP обёртка.
https://github[dot]com/jonnnnyw/php-phantomjs

Не понятно как вы собираетесь "шарить" авторизацию между CURL и PhantomJS.

(Отредактировано автором: 17 Августа, 2017 - 06:22:12)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB