Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122

Парсер ВКонтакте

15.02.2017, 15:21. Показов 2053. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите парсер который автризуется в кв с последующими действиями, перерым многоо чего по рабочего так и не нашел

Добавлено через 6 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$cl = curl_init();
curl_setopt($cl,CURLOPT_URL,'https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username='.$mail.'&password='.$pass);
curl_setopt($cl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cl,CURLOPT_HEADER, 0); 
curl_setopt($cl,CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($cl,CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($cl,CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
curl_setopt($cl,CURLOPT_COOKIEJAR,'/1.txt');
curl_setopt($cl,CURLOPT_COOKIEFILE,'/1.txt');
$content=curl_exec($cl);
$json=json_decode($content,true);
 
if(!isset($json['error_description'])){
    curl_setopt($cl,CURLOPT_URL, "https://api.vk.com/method/users.get?user_id=".$json['user_id']."&v=5.21&access_token=".$json['access_token']);
    curl_setopt($cl,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($cl,CURLOPT_HEADER,0); 
    $content=curl_exec($cl);
    echo $content;
    $json_auth=json_decode($content, true);  
    print "<font color='blue'><b>";
    print "user_id: ".$json_auth['response'][0]['id']."<br>";
    print "Имя: ".$json_auth['response'][0]['first_name']."<br>";
    print "Фамилия: ".$json_auth['response'][0]['last_name']."<br>";
    print "</b></font>";
    
    
    curl_setopt($cl,CURLOPT_URL, "https://vk.com/friends");
    curl_setopt($cl,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($cl,CURLOPT_HEADER,0); 
    $content=curl_exec($cl);
    echo $content;
    
    }
curl_close($cl);
вот по данному методу я авторизуюсь как бы но страницу со сприском друзей я не могу получить
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.02.2017, 15:21
Ответы с готовыми решениями:

Парсер изображений ВКонтакте
VKImage - это программа, которая позволит Вам скачать и автоматически сгруппировать изображения со страницы любого пользователя или...

Самый простой парсер вконтакте
Здравствуйте. Я полный ноль в парсинге поэтому прошу помочь. Есть форма, на ней webbrowser, в котором открыта страница...

Api Вконтакте: загружать фотографии из Вконтакте в Flash проект.
Доброго времени суток. Необходимо загружать фотографии из Вконтакте в Flash проект. Сделал авторизацию пользователя следующим образом :...

8
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
15.02.2017, 15:35  [ТС]
вообще мне не список друзей нужен так как это без авторизации можно сделать, к примеру свою переписку, а ее только после авторизации...
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.02.2017, 15:53
Цитата Сообщение от Nebiros Посмотреть сообщение
к примеру свою переписку
Описание функции: https://vk.com/dev/messages.get

Только там другая авторизация нужна. Та, что сейчас используется, не подойдёт.
1
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
15.02.2017, 16:15  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
Описание функции: https://vk.com/dev/messages.get
не могу понять даже с чего там начать, хотел привычным курлом все это сделать без всяких апи и классов((

Добавлено через 4 минуты
самое интересное что делаю примитивный запрос страницы
PHP
1
2
3
4
5
6
7
8
9
10
11
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'http://vk.com');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER,0); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); 
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
curl_setopt($ch,CURLOPT_COOKIEJAR,'1.txt');
curl_setopt($ch,CURLOPT_COOKIEFILE,'1.txt');
$content=curl_exec($ch);
echo $content;
и ничего не получаю, пусто, а хеадер
HTML5
1
HTTP/1.1 302 Found Server: Apache Date: Wed, 15 Feb 2017 13:14:49 GMT Content-Type: text/html; charset=windows-1251 Content-Length: 0 Connection: keep-alive X-Powered-By: PHP/3.10764 Location: /feed Strict-Transport-Security: max-age=0
что не так не пойму...
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.02.2017, 16:28
Цитата Сообщение от Nebiros Посмотреть сообщение
что не так не пойму...
Перенаправление потому-что не обрабатывается. Добавьте
PHP
1
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
И будут обрабатываться.
Цитата Сообщение от Nebiros Посмотреть сообщение
хотел привычным курлом все это сделать без всяких апи и классов
К API при помощи CURL и подключаются, как правило. Ваш первый код именно к API обращается.
1
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
15.02.2017, 17:03  [ТС]
поставил такой вот код

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$curl = curl_init();
        curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);      
        curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl,CURLOPT_AUTOREFERER, true);
        curl_setopt($curl,CURLOPT_POST, true);
        curl_setopt($curl,CURLOPT_COOKIEJAR,'1.txt');
        curl_setopt($curl,CURLOPT_COOKIEFILE,'1.txt');
        curl_setopt($curl,CURLOPT_NOBODY, false);
        curl_setopt($curl,CURLOPT_HEADER, true);
        curl_setopt($curl,CURLOPT_ENCODING, "");
        curl_setopt($curl,CURLOPT_TIMEOUT, 30);
        curl_setopt($curl,CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($curl,CURLOPT_MAXREDIRS, 5);
        curl_setopt($curl,CURLOPT_FOLLOWLOCATION,0);
        
        
        
        curl_setopt($curl,CURLOPT_URL, 'https://vk.com');
        curl_setopt($curl,CURLOPT_POSTFIELDS,0);
        $page = curl_exec($curl);
        echo $page;
страницу вроде получает но абракадабра, сейчас выясняю что не не так

Добавлено через 25 минут
в общем первую страницу я получаю и оттуда получаю две переменные ip_h и lg_h, они нужны далее в форме авторизации, делаю далее авторизацию, причем сравнил с заголовками в вк, отсылаю

PHP
1
2
3
4
5
curl_setopt($ch,CURLOPT_URL,'https://login.vk.com/?act=login');
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS,'act=login&role=al_frame&expire=quick_expire_input&captcha_sid=&captcha_key=&ip_h='.$ip_h.'&lg_h='.$lg_h.'&email='.$email.'&pass='.$pass);
$content=curl_exec($ch);
echo $content;
получаю

HTML5
1
HTTP/1.1 302 Found Server: Apache Date: Wed, 15 Feb 2017 13:57:43 GMT Content-Type: text/html; charset=windows-1251 Content-Length: 20 Connection: keep-alive X-Powered-By: PHP/3.10766 Pragma: no-cache Cache-control: no-store P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" Set-Cookie: remixq_d967e8db9306f90caa315b30da813aaf=d4329f7c0d01d184fa; path=/; domain=.vk.com; HttpOnly Location: http://vk.com/login.php?act=slogin&to=&s=1&__q_hash=d967e8db9306f90caa315b30da813aaf Content-Encoding: gzip Strict-Transport-Security: max-age=15768000
что не так не пойму
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.02.2017, 18:39
Цитата Сообщение от Nebiros Посмотреть сообщение
что не так не пойму
Я уже выше показал. Внимательно сравните значения, которые были показаны, с Вашими. Я про строку с CURLOPT_FOLLOWLOCATION
1
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
15.02.2017, 20:07  [ТС]
сделал вот так

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$ch=curl_init('https://vk.com');
curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13)");
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,TRUE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
    'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'content-type: application/x-www-form-urlencoded',
    'origin: https://vk.com',
    'referer: https://vk.com/',
    ));
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$content=curl_exec($ch);
$arr=explode('type="hidden" name="ip_h" value="',$content);
$arr1=explode('"',$arr[1]);
$ip_h=$arr1[0];
$arr=explode('type="hidden" name="lg_h" value="',$content);
$arr1=explode('"',$arr[1]);
$lg_h=$arr1[0];
 
echo " ===========================".$ip_h." === ".$lg_h."<br><br>";
 
curl_setopt($ch,CURLOPT_URL,'https://login.vk.com/?act=login');
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_REFERER,"https://vk.com");
curl_setopt($ch,CURLOPT_POSTFIELDS,'act=login&role=al_frame&expire=&captcha_sid=&captcha_key=&_origin=https%3A%2F%2Fvk.com&ip_h='.$ip_h.'&lg_h='.$lg_h.'&email=%2B38000000000&pass=password');
$content=curl_exec($ch);
echo "<br> =========================== <br>".$content;
$ip_h и $lg_h получаю далее отправляю их постом это должно быть в вк, и вот что на этот раз мне за ответ дало

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
 ===========================5a3f3fbeba3f4b05a2 === 5ee0b782cd327c2a19<br><br><br> =========================== <br><script type="text/javascript">
var _ua = navigator.userAgent;
var locDomain = 'vk.com'.match(/[a-zA-Z]+\.[a-zA-Z]+\.?$/)[0];
if (/opera/i.test(_ua) || !/msie 6/i.test(_ua) || document.domain != locDomain) {
  document.domain = locDomain;
}
parent.__qlClear();
addEvent = parent.addEvent;
vk = parent.vk;
parent.stManager.add(['notifier.js', 'notifier.css'], function() {
  Notifier = parent.Notifier;
  
  parent.onLoginFailed(4, {email: '', expire: 1});
});
</script></body>
</html>
это уже к чему не понял
Цитата Сообщение от Para bellum Посмотреть сообщение
Я уже выше показал. Внимательно сравните значения, которые были показаны, с Вашими. Я про строку с CURLOPT_FOLLOWLOCATION
я его указываю и первую страницу я получаю, на отправке пост данных остановка...

Добавлено через 57 секунд
Цитата Сообщение от Para bellum Посмотреть сообщение
Я уже выше показал. Внимательно сравните значения, которые были показаны, с Вашими. Я про строку с CURLOPT_FOLLOWLOCATION
или я что то не правильно понял..

Добавлено через 44 минуты
видать поборол и получил уже авторизованную страницу, проблема теперь следующая - весь текст вопросиками, меня уже кодировки не помогает, подскажите куда дальше копать?

Добавлено через 14 минут
вопрос решен
PHP
1
$content=mb_convert_encoding($content,"utf-8","windows-1251");
0
 Аватар для N-Star
60 / 60 / 29
Регистрация: 03.11.2016
Сообщений: 292
Записей в блоге: 2
17.02.2017, 09:44
Может следует в заголовке запросов курла указывать принимаемую кодировку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2017, 09:44
Помогаю со студенческими работами здесь

Авторизация на ВКонтакте и другом сайте по ссылке "Войти через Вконтакте"
Добрый день .. такая ситуация.. С помощью POST запроса прохожу авторизацию в Вконтакте в webbrowser1 после чего захожу на другой сайт в...

Вконтакте!
Есть исходник приложения вконтакте. вот тут виложено В связи с участившимися вопросами и просьбами чтобы выложили исходники flash...

ВКонтакте
Я списывал код для работы с ВКонтакте: from urllib.parse import urlencode, urlparse AUTHORIZE_URL = 'https://oauth.vk.com/authorize'...

Вконтакте
Не могу зайти на сайт в контакте!Помогите!Что делать?

вконтакте.
Не могу зайти на сайт &quot;вконтакте&quot; пробовала все: заходить с разных браузеров; проверяла hosts вроде все нормально.. Вот что выдает. C)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru