Busgame

Busgame
Рейтинг
24
Регистрация
10.07.2011

Chukcha, про var_dump в Библии ничего не сказано, ловите.

---------- Добавлено 30.12.2012 в 21:03 ----------

Библиотека - phpQuery (раньше уже говорил).

var_dump($urlosearch)

Функция сработала, выводится другой вид массива, а что это дает?

Ругается, что $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';

)

Если грубо говоря.

И может дадите пример (линк) скрипта удаления ссылок из динамического массива.

Из списка неотпарсенных ссылок убирать отпарсенные. Либо вручную, либо опять же каким-то скриптом. Я про отбор ссылок, разумеется.

Всего: 121