Chukcha, про var_dump в Библии ничего не сказано, ловите.---------- Добавлено 30.12.2012 в 21:03 ----------Библиотека - phpQuery (раньше уже говорил).
Функция сработала, выводится другой вид массива, а что это дает?
Ругается, что $urlosearch - не массив.
"Warning: array_shift() [function.array-shift]: The argument should be an array"
Dinozavr, я набросал по быстрому просто, в целом все понятно.
Сейчас в качестве теста попробую:
1. Спарсить главную страницу.
2. Извлечь все ссылки.
3. Перейти по первой ссылке на страницу.
4. Вывести эту страницу на экран.
О результатах напишу.---------- Добавлено 30.12.2012 в 20:18 ----------Сейчас, собсно, имеем такой код:
$res - полученная курлом страница $htmldoc = phpQuery::newDocument($res); //создали новый док $urlosearch = $htmldoc->find('a'); //нашли все ссылки на странице $massive = array($urlosearch); //заключили в $massive $firstlink = array_shift($massive); //извлекли первую ссылку этого массива, но при выводе, браузер отображает все ссылки ($urlosearch в массиве $massive), а не только первую $perehod = curl_setopt($ch, CURLOPT_URL, $firstlink); // попытка передачи урла echo $perehod; //выводится "1" (без ковычек)
По моей логике: array_shift не может вывести элементы массива отдельно, поэтому выводит все элементы как один (т.е. в массиве всего один элемент, который содержит все ссылки). Отсюда и недоступность к переходу. Возможно, все ссылки нужно собрать в ручную, а полученный массив передать курлу?---------- Добавлено 30.12.2012 в 20:23 ----------
Хотя если так сделать с главной страницей, то с внутренними будет аналогично. Тогда этот вариант не подходит.
Угу, просто немного сложно для восприятия. А так большое спасибо.
Хм, логично. Но лучше просто:
а) занести страницу в индекс.
б) считывать данные спарсенной страницы со страницы - оригинала.
в) пополнять индекс.
Буду реализовывать.
Сайт постоянно обновляется, парсить нужно постоянно.
Нужен именно бесконечный, читайте выше.
Т.к. я новичок в php, не совсем понимаю какие массивы бывают динамическими, а какие... другими.
В моем понимании массив это:
$mas = array(
$a = 'a';
$b = 'b';
)
Если грубо говоря.
И может дадите пример (линк) скрипта удаления ссылок из динамического массива.
Из списка неотпарсенных ссылок убирать отпарсенные. Либо вручную, либо опять же каким-то скриптом. Я про отбор ссылок, разумеется.