|
|
|
| Всем привет вот заинтересовал этот вопрос. Раньше еще таким не занимался. Вот часть кода из старнички:
<ul id="nav" style="margin:0px;width:150px;overflow:hidden;">
<li><a href="javascript: inviteMemberToGroup(9346454,28346018)">Выслать приглашение</a></li>
</ul>
|
Из нее нужно выдернуть значение 28346018 и записать в файл, чтобы потом при новом сборе не записывало повторов. Тот код что привел на старничке встречается 10 раз по моему, с разными значениями которые нужно собрать.
Ребят помогите разобраться. Может где то обсуждалось. Или логику распишите что за чем надо делать, я буду пытаться писать скрипт. Заранее благодарен. | |
|
|
|
|
|
|
|
для: TetRiska
(08.08.2009 в 20:44)
| | это на php делается | |
|
|
|
|
|
|
|
для: AlexSol
(08.08.2009 в 21:12)
| | хмм...я думал жабоскриптом можно...потом вижу что пхпы регулярками...но я в них не силен :( Перенесите топик плз в ПХП раздел...Кто может помогите спарсить нужные данные. | |
|
|
|
|
автор: ....... (09.08.2009 в 01:11) |
|
|
для: TetRiska
(08.08.2009 в 21:21)
| | если начать с запятой
<?php
$txt='<ul id="nav" style="margin:0px;width:150px;overflow:hidden;">
<li><a href="javascript: inviteMemberToGroup(9346454,28346018)">Выслать приглашение</a></li>
</ul>';
preg_match_all('#,(\d{3,10})(?=\)">)#', $txt, $a);
print_r($a);
?>
|
| |
|
|
|
|
|
|
|
для: .......
(09.08.2009 в 01:11)
| | Благодарю за пример...Вот доработал и проверил, с локальным файлом работает если вручную сохранить страничку, а если парсить напрямую получаю пустоту...Даж пробовал записать то что спарсил в файл программно, данные совсем не те..Видать защита или фиг знает :( Кто поможет спарсить по человечески?
<?php
$txt = file_get_contents('http://vkontakte.ru/search.php?subm=1&act=adv&g=9346454&country=2&online=1&o=0&st=10');
$html = file_put_contents('temp.html', $txt);
preg_match_all('#,(\d{3,10})(?=\)">)#', $html, $a);
for($i=0;$i<10;$i++)
{
$fp = fopen("temp.txt", "a");
$mytext = $a[1][$i]."\r\n";
$test = fwrite($fp, $mytext);
}
if ($test) echo 'Данные в файл успешно занесены.';
else echo 'Ошибка при записи в файл.';
fclose($fp);
?>
|
| |
|
|
|
|
|
|
|
для: TetRiska
(09.08.2009 в 02:35)
| |
<?php
header('content-type:text/plain');
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 0,
CURLOPT_HEADER => 1,
CURLOPT_NOBODY => 0,
CURLOPT_TIMEOUT => 20,
CURLOPT_NOPROGRESS => 1,
CURLOPT_URL => 'http://vkontakte.ru/search.php?subm=1&act=adv&g=9346454&country=2&online=1&o=0&st=10',
CURLOPT_HTTPHEADER => array(
'cookie: test=%21%21%21',
'useragent: Opera 9/1 (WinXP; U; ru)',
'referer: http://google.com/',
'x_forwarded_for: 127.5.5.5')
));
curl_exec($ch);
?>
| Запустите посмотрите что Вам ответили и разбирайтесь почему браузеру отдали страницу | |
|
|
|
|
|
|
|
для: exp
(09.08.2009 в 04:21)
| |
HTTP/1.1 302 Found
Server: nginx/0.7.59
Date: Sun, 09 Aug 2009 00:51:04 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.2.6-1+lenny3
Set-Cookie: remixlang=1; expires=Mon, 09-Aug-2010 00:51:04 GMT; path=/; domain=.vkontakte.ru
Pragma: no-cache
Cache-control: private, must-revalidate
Set-Cookie: remixchk=5; expires=Sun, 15-Aug-2010 15:25:18 GMT; path=/; domain=.vkontakte.ru
Location: /login.php?u=1&to=search.php%3Fsubm%3D1%26act%3Dadv%26g%3D9346454%26country%3D2%26online%3D1%26o%3D0%26st%3D10
Vary: Accept-Encoding
Content-Length: 0
|
Что с этого следует? :) | |
|
|
|
|
автор: ....... (09.08.2009 в 06:07) |
|
|
для: TetRiska
(09.08.2009 в 04:53)
| | из этого следует то что послали, авторизоваться.
или выдёргивать cookie с вашего браузера, и слать их , если у авторизованых проверяются только cookie (в противном случаае пробовать менять разные поля referer .......)
или собирать из ответов set-cookie , навешивать , переходить на location , слать post-данные
, вобщем всё что нормальные браузеры вместе с юзерами
но и это может быть не всё может ьам вообще какое-нибудь ssl ещё ,)
я туда не заглядывал , аллергия на такие сайты куда хочеш просто заглянуть , а тебе сразу емейл спрашивают , авторизовывать сразу хочут | |
|
|
|
|
|
|
|
для: .......
(09.08.2009 в 06:07)
| | Т.е. простым языком нужно авторизоваться и патом аж парсить? Без авторизации выдает хтмл страницу авторизации как я вижу. | |
|
|
|