Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2016, 17:20   #1
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
Стрелка Спарсить ссылку страницы

Доброго вечера!
Никак не могу спарсить ссылку со страницы загружаемой через курл!

PHP код:
<?
$ch 
curl_init('http://m.vk.com/login');
curl_setopt($chCURLOPT_USERAGENT'IE20');
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_RETURNTRANSFER'1');
$text curl_exec($ch);
preg_match'<form(.*?)novalidate>' $text $links );
echo 
$links[0];
?>
Код работает но не совсем так как бы хотелось.
При выполнение скрипта получается следующие
PHP код:
form method="post" action="https://login.vk.com/?act=login&_origin=http://m.vk.com&ip_h=5876e395f41b8dcb01&lg_h=e0682f1c406e24d81e&role=pda&utf8=1" novalidate 
А нужно спарсить только ссылку
PHP код:
https://login.vk.com/?act=login&_origin=http://m.vk.com&ip_h=5876e395f41b8dcb01&lg_h=e0682f1c406e24d81e 
Заранее благодарен!
DKENT вне форума Ответить с цитированием
Старый 23.09.2016, 19:54   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
'<form.+? action="(.+?)".+?novalidate>'
и
Код:
$links[1]
А вообще HTML обычно лучше парсить каким-нибудь HTML парсером, а не регекспами.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 23.09.2016 в 19:56.
Alex11223 вне форума Ответить с цитированием
Старый 04.10.2016, 02:40   #3
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
По умолчанию

Еще вопрос.
Код:
<? 
$ch = curl_init('http://m.vk.com/login'); 
curl_setopt($ch, CURLOPT_USERAGENT, 'IE20'); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1'); 
$text = curl_exec($ch); 
preg_match( '<form.+? action="(.*?)".+?novalidate>' , $text , $links ); 
echo $links[1]; 
echo '<br>';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $links[1]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('email'=>'Логин', 'pass'=>'Пароль'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$result = curl_exec($ch);
echo $result;
?>
Передаю логин и пароль, при выполнение скрипта пишет цифру 1.
Что то не могу понять в чем проблема?

В основном скрипт работать как должен
Цитата:
http://m.vk.com
получаю
ip_h и lg_h
передаю запрос методом post email и пароль
https://login.vk.com/?act=login&_ori...ole=pda&utf8=1
А по сути какие то ошибки в нем! Подскажите пожалуйста!
DKENT вне форума Ответить с цитированием
Старый 04.10.2016, 14:53   #4
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
По умолчанию

Что никто подсказать не может?
DKENT вне форума Ответить с цитированием
Старый 04.10.2016, 14:59   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так посмотрите curl_error например.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.10.2016, 15:54   #6
DKENT
Форумчанин
 
Регистрация: 09.09.2010
Сообщений: 114
По умолчанию

Как работать с данной командой!
Что то у меня не получается(
Код:
<? 
$ch = curl_init('http://m.vk.com/login'); 
curl_setopt($ch, CURLOPT_USERAGENT, 'IE20'); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1'); 
$text = curl_exec($ch); 
preg_match( '<form.+? action="(.*?)".+?novalidate>' , $text , $links ); 

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $links[1]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('email'=>'', 'pass'=>''));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$result = curl_exec($ch);
echo curl_error($result);    

?>
DKENT вне форума Ответить с цитированием
Старый 04.10.2016, 15:59   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

http://php.net/manual/en/function.curl-error.php
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли реализовать? спарсить код с такой страницы ... stu_dent C# (си шарп) 11 16.03.2016 16:10
Как получить ссылку открытой страницы Evgeniy77 Мобильные ОС (Android, iOS, Windows Phone) 0 25.02.2014 15:40
Изменение фона страницы при наведении курсора на пункт (ссылку) меню snowblind HTML и CSS 0 09.11.2013 17:27
Как сделать ссылку на текст в пределах одной страницы joomla 1.5 Admin2 HTML и CSS 4 21.10.2013 23:11
Взять ссылку из страницы а потом при переходе на новую вставить её Alex1991 JavaScript, Ajax 2 04.01.2013 02:49