levka9

Рейтинг
53
Регистрация
28.12.2009
Busgame:
Сайт постоянно обновляется, парсить нужно постоянно.

Тогда парсте сайт полностю, а потом повторяйте обход каждые X минут.

Иначе будет постоянный бесконечный цикл вокруг повторяющихся урлов и многие из них сканироватся вобще не будут(или очень редко).

В конце ваша коллекция переполница и программа повалит сервер.

Busgame:
Нужен именно бесконечный, читайте выше.

Зачем бесконечный, в чём смысл ?

Обошёл все страници сайта, и что опять повторить цикл.

Dinozavr:
Busgame, вы понимаете, что весь ваш парсер - это бесконечный цикл
?

Почему цикл должен быть бесконечным ?

Конец ему есть - просканировали все ссылки.

Опредилитесь с колекциями.

Я использовал :

1. Dictionary O(1) - отсканированые ссылки. Можно и SortArray, но тогда производительнось упадёт до log(N). А если простой Array, то хуже всего N^2.

На больших сайтах будет существенно заметно.

2. Queue (1) - содержит и пополняет себя новыми и не отсканироваными ссылками.

парсите ссылки так:

$code = file_get_contents($url);

$doc = new DOMDocument();

$doc->loadHTML($code);

$links = array();

foreach ($doc->getElementsByTagName('a') as $element) {

if ($element->hasAttribute('href')) {

$links[] = $elements->getAttribute('href');

}

}

вот библиотека для DOM элементов :

http://il1.php.net/book.dom

Сам писал такой парсер для биржи ссылок но на C#.

Тут желательно Multi Threading использовать для много страничных сайтов.

меняем :

jQuery('SPAN.PricepriceWithoutTax').hide();

на:

jQuery(this).find('SPAN.PricepriceWithoutTax').hide();

и всё зароботает как вы хотели.

оберни картинку шапки в это:

<a href="/" title="главная">

картинка шапки

</a>

<noindex> - для яши

rel="nofollow" - для гугла и для яши

http://help.yandex.ru/webmaster/?id=1111291

levka9 добавил 24.02.2011 в 12:51

с кодировкой в тайтеле чтото не так, ??????? выдаёт

например АГС....

напишите платону и он вам скорей всего ответит "развивайте ресурс" .

или

$("a.qqq:q(index)").attr("rel");

$("a.qqq:q(0)").attr("rel");

$("a.qqq:q(1)").attr("rel");

$("a.qqq:q(2)").attr("rel");

Всего: 199