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.SU

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


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

> Без описания
ladan
Отправлено: 16 Мая, 2012 - 08:45:29
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Янв. 2012  


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




Доброе утро! Есть много ссылок контакта

некоторые из них:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://vk.com/kempel
  2. http://vk.com/katrin_gord
  3. http://vk.com/grigor_martin



Можно ли через php перейти по ним и прочитать исходный код? Мне нужно регуляркой в коде определить реальный id номер их страницы
 
 Top
Panoptik
Отправлено: 16 Мая, 2012 - 10:13:03
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




исходный код как раз php и получит
вопрос в том есть ли в этом коде тот самый id?


-----
Just do it
 
 Top
Alho
Отправлено: 16 Мая, 2012 - 10:16:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


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




PHP:
скопировать код в буфер обмена
  1. $p=file_get_contents("http://vk.com/kempel");
  2.         if (preg_match("|id=([\d]+)[\D]|",$p,$o))
  3.                 $id=$o[1];
  4.         echo $id;
 
 Top
ladan
Отправлено: 16 Мая, 2012 - 10:17:19
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Янв. 2012  


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




во спасибо большое! Все работает Улыбка
(Добавление)
Panoptik пишет:
исходный код как раз php и получит
вопрос в том есть ли в этом коде тот самый id?


да, где аватарка в исходном коде
(Добавление)
CODE (htmlphp):
скопировать код в буфер обмена
  1. $id = file_get_contents($_POST['id_link']);
  2. echo preg_replace("#.+?profile_photo_link.+?photo([0-9]+)_.+#is","id$1",$id);


жаль что секунды 3 ждать надо пока обработает. Может есть способы побыстрей?

(Отредактировано автором: 16 Мая, 2012 - 10:22:11)

 
 Top
Alho
Отправлено: 16 Мая, 2012 - 10:31:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


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




Быстрее не получится. Основное время тратится на загрузку страницы, да и регулярки крайне обжорливые.
В качестве оптимизации можно предложить только в file_get_content указать maxlen - тогда он не будет тянуть всю страницу. Только нужно это сделать внимательно, что бы он захватил первую ссылку с id.
 
 Top
ladan
Отправлено: 16 Мая, 2012 - 11:48:22
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Янв. 2012  


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




Alho пишет:
Быстрее не получится. Основное время тратится на загрузку страницы, да и регулярки крайне обжорливые.
В качестве оптимизации можно предложить только в file_get_content указать maxlen - тогда он не будет тянуть всю страницу. Только нужно это сделать внимательно, что бы он захватил первую ссылку с id.



Интересно, id можно узнать почти в самом начале, в аватарке '37673804_282573525', где первые цифры до нижнего прочерка- id.

А как в file_get_content указать maxlen?

CODE (htmlphp):
скопировать код в буфер обмена
  1. string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

(Добавление)
не могу разобраться как можно примерно из центра страницы прочесть содержимое

CODE (htmlphp):
скопировать код в буфер обмена
  1. $page = file_get_contents($_POST['id_link'],NULL,NULL,1000,6500);


при указании больше 1000 то ли ошибка, то ли другое...


пока есть такой кусок

CODE (htmlphp):
скопировать код в буфер обмена
  1. ndow.locDomain = vk.host.match(/[a-zA-Z]+\.[a-zA-Z]+\.?$/)[0]; var _ua = navigator.userAgent.toLowerCase(); if (/opera/i.test(_ua) || !/msie 6/i.test(_ua) || document.domain != locDomain) document.domain = locDomain; var ___htest = (location.toString().match(/#(.*)/) || {})[1] || ''; if (vk.al != 1 && ___htest.length && ___htest.substr(0, 1) == vk.navPrefix) { if (vk.al != 3 || vk.navPrefix != '!') { location.replace(location.protocol + '//' + location.host + '/' + ___htest.replace(/^(\/|!)/, '')); } } var StaticFiles = { 'common.js' : {v: 830}, 'common.css': {v: 310}, 'ie6.css' : {v: 22}, 'ie7.css' : {v: 16} ,'lang0_0.js':{v:6254},'profile.css':{v:152},'page.css':{v:332} } </script> <link rel="stylesheet" type="text/css" href="http://st0.userapi.com/css/al/common.css?310" /> <!--[if lte IE 6]><style type="text/css" media="screen">/* <![CDATA[ */ @import url(http://st0.userapi.com/css/al/ie6.css?22); /* ]]> */</style><![endif]--> <!--[if IE 7]><style type="text/css" media="screen">/* <![CDATA[ */ @import url(http://st0.userapi.com/css/al/ie7.css?16); /* ]]> */</style><![endif]--> <link type="text/css" rel="stylesheet" href="http://st0.userapi.com/css/al/profile.css?152"></link><link type="text/css" rel="stylesheet" href="http://st0.userapi.com/css/al/page.css?332"></link><script type="text/javascript" src="/js/loader_nav9087_0.js"></script><script type="text/javascript" src="http://st1.userapi.com/js/al/common.js?830"></script><script type="text/javascript" src="/js/lang0_0.js?6254"></script><link rel="meta" type="application/rdf+xml" title="FOAF" href="/foaf.php?id=37673804" /> </head> <body onresize="onBodyResize()" class="is_rtl font_default"> <div id="system_msg" class="fixed"></div> <div id="utils"></div> <div id="layer_bg" class="fixed"></div><div id="layer_wrap" class="scroll_fix_wrap fixed"><div id="layer"></div></div> <div id="box_layer_bg" class="fixed"></div><div id="box_layer_wrap" class="scroll_fix_wrap fixed"><div id="box_layer"><div id="box_loader"><div class="loader"></div><div class="back"></div></div></div></div> <div id="stl_left"></div><div id="stl_side"></div> <script type="text/javascript">domStarted();</script> <div class="scroll_fix_wrap" id="page_wrap"> <div><div class="scroll_fix"> <div id="page_layout" style="width: 791px;"> <div id="page_header" class="p_head p_head_l0"> <div class="back"></div> <div class="left"></div> <div class="right"></div> <div class="content"> <div id="top_nav" class="head_nav"> <div id="top_logo_down" class="fl_l"></div> <a id="top_home_link" class="top_home_link fl_l" href="/" onmousedown="addClass('top_logo_down','tld_d');" onclick="return nav.go(this, event);" onmouseup="removeClass('top_logo_down','tld_d');" style=""></a> <div id="top_links"> <div class="fl_r" id="top_menu_wrap" style=""> <a id="top_reg_link" class="fl_r top_nav_link" href="/join" style="" onclick="return !showBox('join.php', {act: 'box', from: nav.strLoc}, {}, event)">регистрация</a> </div> <a class="fl_l top_nav_link" href="" id="top_back_link" onclick="return nav.go(this, event, {back: true})"></a> </div> </div> </div> </div> <div id="side_bar" class="fl_l" style=""> <div id="quick_login"> <form method="POST" name="login" id="quick_login_form" action="https://login.vk.com/?act=login" onsubmit="if (vklogin) {return true} else {quick_login();return false;}"> <input type="hidden" name="act" value="login" /> <input type="hidden" name="q" value="1" /> <input type="hidden" name="al_frame" value="1" /> <input type="hidden" name="expire" id="quick_expire_input" value="" /> <input type="hidden" name="captcha_sid" id="quick_captcha_sid" value="" /> <input type="hidden" name="captcha_key" id="quick_captcha_key" value="" /> <input type="hidden" name="from_host" value="vk.com" /> <input type="hidden" name="from_protocol" value="http" /> <input type="hidden" name="ip_h" value="d18d0a52b9a596f8f0" /> <div class="label">Телефон или e-mail:</div> <div class="labeled"><input type="text" name="email" class="text" onfocus="show('quick_expire')" id="quick_email" /></div> <div class="label">Пароль:</div> <div class="labeled"><input type="password" name="pass" class="text" onfocus="show('quick_expire')" id="quick_pass" /></div> <div class="checkbox" id="quick_expire" onclick="checkbox(this);ge('quick_expire_input').value=isChecked(this)?1:'';"><div></div>Чужой компьютер</div> <input type="submit" class="submit" /> </form> <div class="button_blue button_wide"><button id="quick_login_button">Войти</button></div> <div class="button_blue button_wide" id="quick_reg_button" style=""><button onclick="top.showBox('join.php', {act: 'box', from: nav.strLoc})">Регистрация</button></div> <div class="clear forgot"><a href="/restore" target="_top">Забыли пароль?</a></div> </div> </div> <div id="page_body" class="fl_r" style="width: 631px;"> <div id="header_wrap2"> <div id="header_wrap1"> <div id="header" style=""> <h1 id="title"><b id="profile_online_lv" style="display: none;" class="fl_r">Online<b class="mob_onl profile_mob_onl unshown" id="profile_mobile_online" onmouseover="mobileOnlineTip(this, {mid: cur.oid, right: 1})" onclick="mobilePromo(); "></b></b><b id="profile_time_lv" class="fl_r">заходила 53 минуты назад</b>Аня Сидловская</h1> </div> </div> </div> <div id="wrap_between"></div> <div id="wrap3"><div id="wrap2"> <div id="wrap1"> <div id="content"><div id="profile"> <div class="narrow_column fl_l" id="profile_narrow"> <div id="profile_avatar"><a id="profile_photo_link" href="/photo37673804_282573525" onclick="return showPhoto('37673804_282573525', 'album37673804_0/rev', {temp:{base:"",x_:["http://cs5502.userapi.com/v5502804/711/obrLgR8yZh4",402,604],y_:["http://cs5502.userapi.com/v5502804/712/0SmiIdWPbQY",537,807],z_:["http://cs5502.userapi.com/v5502804/713/WcM7Aw2HSjk",682,1024]}, jumpTo: {z: 'albums37673804'}}, event)"><img height="430" width="200" src="http://cs5502.userapi.com/u37673804/a_046ff9fe.jpg" /></a></div><div class="msg guest_actions"> Чтобы отправить Ане сообщение, Вам необходимо <a onclick="focusLoginInput()">войти в систему</a> или <a href="/join" onclick="return !showBox('join.php', {act: 'box', from: nav.strLoc}, {}, event)">зарег



нужно еще сверху убрать почти до самого низа, до

(Отредактировано автором: 16 Мая, 2012 - 12:44:12)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB