Суть парсера - парсить ид перейдя по ссылке поиска, где выставлены критерии. Так вот он переходит, парсит 40 штук и всё. Надо как-то "нажать" кнопку "показать ещё" и продолжить. Как это сделать? Сейчас строки отвечающие за парсинг выглядят так: PHP: $text=$vk->get_htm("http://vk.com/search?c%5Bage_from%5D=16&c%5Bage_to%5D=22&c%5Bcity%5D=280&c%5Bcountry%5D=2&c%5Bname%5D=1&c%5Bonline%5D=1&c%5Bsection%5D=people&c%5Bsex%5D=1&c%5Bsort%5D=1&c%5Bstatus%5D=6"); preg_match_all("#<a href=\"\/(.*)\" onclick=\"return nav#",$text,$match);
И как это сделать? В аякс запросы я не лез ещё. И как узнать какой он шлёт, а потом послать аналогичный?
Посмотреть сниффером аякс запросы от обычных нечем не отличаются, FierFox->TemplerData, HttpAnalizer etc,,,
Они от того что аяксом шлются не меняются, тебе необходимо имитировать тот запрос в ответ на который приходит следующий блок стр.
Code: Request URL:http://vk.com/al_search.php Request Method:POST Status Code:200 OK Request Headersview source Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:ru Connection:keep-alive Content-Length:101 Content-Type:application/x-www-form-urlencoded Host:vk.com Origin:http://vk.com Referer: User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11 X-Requested-With:XMLHttpRequest Form Dataview URL encoded al:1 c[q]:паприка c[section]:video c[sort]:2 offset:80
Ну вот скрипт целеком, и куда тут запилить этот пост запрос то? PHP: <?php class vk_parser{ function vk_init(){ global $ch; $ch=curl_init();} function curl_parametrs(){ global $ch; curl_setopt($ch, CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_TIMEOUT, 20); // curl_setopt($ch, CURLOPT_COOKIEFILE, "cook.txt"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cook.txt"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)'); } function get_htm($url){ global $ch; curl_setopt($ch, CURLOPT_URL,$url); $data=curl_exec($ch); return $data; } function close(){ global $ch; curl_close($ch);} } ?> PHP: <?php include('vk.clas.php'); $login="";//Логин $pass="";// Пароль $id='love_osechka'; $vk=new vk_parser; $vk->vk_init(); $vk->curl_parametrs(); $text=$vk->get_htm("http://vk.com/search?c%5Bage_from%5D=16&c%5Bage_to%5D=22&c%5Bcity%5D=280&c%5Bcountry%5D=2&c%5Bname%5D=1&c%5Bonline%5D=1&c%5Bsection%5D=people&c%5Bsex%5D=1&c%5Bsort%5D=1&c%5Bstatus%5D=6"); preg_match_all("#<a href=\"\/(.*)\" onclick=\"return nav#",$text,$match); for ($i = 1; $i <= 80; $i++) { echo $match[1][$i]."<br>"; $i++; } $vk->close(); unset($vk); ?>
ну спарсил ты первый офсет, след запрос делаешь через курл, парсишь..и так до бесконечности За сегодня вторая тема с вопросом по контакту и пхп. делфя не? разобраться как произвести запрос и отпарсить - 5 минут &c%5Bstatus%5D=6&offset=100500 тип того
Это первое что я попробовал до создания темы, вообще не парсит тогда, ибо на эту ссылку не переходит.
а тфу...ну конечно. ты перейди по линку и глянь код страницы. там просто начинка не сформированная jsами. тупо код