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
Форумы портала PHP.SU :: Версия для печати :: Парсинг с сайта с https протоколом
Форумы портала PHP.SU » » HTTP и PHP » Парсинг с сайта с https протоколом

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

1. paketonos - 14 Мая, 2016 - 20:44:52 - перейти к сообщению
Добрый день, может быть у кого-нибудь завалялся парсер сайта с https протоколом. Пример должен просто вытаскивать какой-то текст, дальше разобраться смогу. Заранее благодарю)
2. Viper - 14 Мая, 2016 - 21:35:15 - перейти к сообщению
Какая разница? В ответ вы получаете html.
3. paketonos - 15 Мая, 2016 - 12:38:40 - перейти к сообщению
Viper пишет:
Какая разница? В ответ вы получаете html.

Разница вот в этом. К примеру мне нужно вытащить все ссылки со страницы гугла, делаю это банальным образом:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.                         $html = file_get_html('https://www.google.ru/?gfe_rd=cr&ei=-kI4V7rbIM3HYKHxsNgK');
  3.                         $a_links = $html->find('a');
  4.                         echo $a_links[ 0 ]->href;
  5.                     ?>

И получаю ошибку:
Fatal error: Call to a member function find() on a non-object in Y:\home\script.local\www\views\parth.php on line 171
Но делая тоже самое с сайтами с http протоколами, все работает прекрасно. Если эта проблема решаема, то помоги пожалуйста. Заранее благодарю)
4. Viper - 15 Мая, 2016 - 13:24:05 - перейти к сообщению
$html что содержит?
5. paketonos - 15 Мая, 2016 - 13:30:25 - перейти к сообщению
Viper пишет:
$html что содержит?


bool(false)
6. kuller - 15 Мая, 2016 - 14:30:36 - перейти к сообщению
100% ошибка в коде где та. Тоже использую simple html dom с протоколом https все работает.

попробуй те так $a_links = $html->find('a', 0);
7. paketonos - 15 Мая, 2016 - 14:34:51 - перейти к сообщению
kuller пишет:
100% ошибка в коде где та. Тоже использую simple html dom с протоколом https все работает.

попробуй те так $a_links = $html->find('a', 0);


Попробовал, то же самое
А не можешь скинуть какой-нибудь пример?
8. Viper - 15 Мая, 2016 - 15:06:50 - перейти к сообщению
paketonos не еб*** мозги людям.
Включите вывод ошибок и включите extension=php_openssl.dll или .so чё у вас там винда или линух
9. kuller - 15 Мая, 2016 - 15:48:29 - перейти к сообщению
пробуй

PHP:
скопировать код в буфер обмена
  1.  
  2. function curl_get($url, $referer = 'http://yabdex.ru')
  3. {
  4.         $ch = curl_init();
  5.         curl_setopt($ch, CURLOPT_URL, $url);
  6.         curl_setopt($ch, CURLOPT_HEADER, 0);
  7.         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0");
  8.         curl_setopt($ch, CURLOPT_REFERER, $referer);
  9.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  10.        
  11.         $data = curl_exec($ch);
  12.         curl_close($ch);
  13.        
  14.         return $data;
  15. }
  16.  
  17. require_once("simple_html_dom.php");
  18.  
  19. $html = curl_get('https://www.google.ru/?gfe_rd=cr&ei=-kI4V7rbIM3HYKHxsNgK');
  20. $dom = str_get_html($html);
  21. $a_links = $dom->find('a');
  22. echo $a_links[ 0 ]->href.'<br />';
  23.  
10. paketonos - 15 Мая, 2016 - 15:56:15 - перейти к сообщению
kuller пишет:
пробуй

PHP:
скопировать код в буфер обмена
  1.  
  2. function curl_get($url, $referer = 'http://yabdex.ru')
  3. {
  4.         $ch = curl_init();
  5.         curl_setopt($ch, CURLOPT_URL, $url);
  6.         curl_setopt($ch, CURLOPT_HEADER, 0);
  7.         curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0");
  8.         curl_setopt($ch, CURLOPT_REFERER, $referer);
  9.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  10.        
  11.         $data = curl_exec($ch);
  12.         curl_close($ch);
  13.        
  14.         return $data;
  15. }
  16.  
  17. require_once("simple_html_dom.php");
  18.  
  19. $html = curl_get('https://www.google.ru/?gfe_rd=cr&ei=-kI4V7rbIM3HYKHxsNgK');
  20. $dom = str_get_html($html);
  21. $a_links = $dom->find('a');
  22. echo $a_links[ 0 ]->href.'<br />';
  23.  


Опять ошибка именно в этой строчке:
$a_links = $dom->find('a');

Fatal error: Call to a member function find() on a non-object in Y:\home\script.local\www\views\parth.php on line 193

И вывод ошибок у меня и так включен, это единственное, что мне выводит, перепробовал уже много вариантов
11. kuller - 15 Мая, 2016 - 16:58:07 - перейти к сообщению
paketonos пишет:
Опять ошибка именно в этой строчке:


нет там не какой ошибки. прежде чем дать код сам попробовал.

ошибку на find могло показать если $dom не существует.

PHP:
скопировать код в буфер обмена
  1.  
  2. $dom = str_get_html($html);
  3. $a_links = $dom->find('a');
  4.  
12. Viper - 15 Мая, 2016 - 18:02:33 - перейти к сообщению
Короче...
paketonos приводите ваш код полностью, гадалок тут нет.

 

Powered by ExBB FM 1.0 RC1