Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.04.2014, 19:55
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

Получить код страницы в vk.com
Доброго времени суток, ув. форумчане. Столкнулся с проблемой получения исходного кода со страницы vk например с этой http://vk.com/durov. Понимаю что нужно через curl но все мои старания не увенчались успехом, даже авторизация не получилась (в целом она и не важна)
Ответить с цитированием
  #2 (permalink)  
Старый 16.04.2014, 20:45
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

curl не поможет, так как вконтакт весь построен на аяксе... Вытаскивать код нужно тем что может воспроизводить JavaScript, простыми словами эмулировать работу браузера.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2014, 04:33
Аватар для MVS
MVS MVS вне форума
Аспирант
Отправить личное сообщение для MVS Посмотреть профиль Найти все сообщения от MVS
 
Регистрация: 07.07.2012
Сообщений: 46

Самый обычный cUrl, страница Дурова с id1, в поле ввода наберите 1 и попадете к нему
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
	<base href="http://vk.com/" />
 </head>
 <body>
 
   <br>
  <form method="post" >
  <div><input type="text" placeholder="Ваш ID ВКонтакте" name="id" /></div>
  <div><input type="submit" value="Посмотреть" /></div>
  </form> 
  <br>
	
<?php
// парсим вконтактике имя пользователя
if(isset($_POST['id'])) {
 $id = $_POST['id'];
 $urlTo = 'http://vk.com/id'.$id;      // Куда данные послать
  $ch = curl_init();                     // Инициализация сеанса
  curl_setopt($ch, CURLOPT_URL, $urlTo); // Куда данные послать
  curl_setopt($ch, CURLOPT_HEADER, 0);   // получать заголовки
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
  curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36');
  curl_setopt($ch, CURLOPT_REFERER, 'http://vk.com');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации
  curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Expect:')); // это необходимо, чтобы cURL не высылал заголовок на ожидание
    $tempRes = curl_exec($ch); 
  curl_close($ch); // Завершаем сеанс

$res = iconv('windows-1251', 'utf-8', $tempRes); // перекодируем с "windows-1251" в "utf-8"
preg_match('#<title>(.*)\|(.*)<\/title>#ui', $res, $result);
 $name = trim($result[1]); // получаем имя пользователя

// записываем в файл
  if($name != '404 Not' && $name != 'Інформація' && $name != 'Информация' && $name != '') {
	   $write = fopen('id.txt','a+');
	   fwrite($write, $tempRes."\r\n");
	    fclose($write);
    $results = 'Запись добавлена!';
	} else {
	  $results = $id.' - Такого пользователя не существует';
	}
}

echo $results.'<br>';
echo $name.'<br>'; // имя пользователя
echo $res; // выводим страницу в браузер
?>
 </body>
</html>

Последний раз редактировалось MVS, 17.04.2014 в 04:51.
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2014, 07:19
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

MVS,
Спасибо большое, работает идеальнее чем я даже представлял, и отдельное спасибо за коментарии
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить часть страницы загруженной через ajax Kostushko jQuery 7 04.11.2013 07:35
Как получить значение $(document).scrollTop() при загрузке страницы в Chrome ilya_ jQuery 7 24.01.2013 15:04
код в зависимости от адреса страницы Levin Общие вопросы Javascript 10 06.07.2010 08:02
Код удаленной страницы newbier AJAX и COMET 2 30.05.2010 10:03
javascript c сайта, как получить код sergeykrk Общие вопросы Javascript 1 05.12.2009 10:48