SocFishing

SocFishing
Рейтинг
118
Регистрация
26.09.2013
Должность
null
Интересы
null
null
revered:
Что за потоки на парсинг?

Многопоточный парсер, т.е. парсинг в несколько независимых процессов скачивания, а не в один. У вас сейчас парсит страницы в 1 поток. Это долго, так как пока контент страницы не будет получен, функция не приступает к скачиванию другой страницы.

Для примера:

http://stupid.su/php-curl_multi/

В гугле множество примеров: multi curl, async sockets, thread process или же простые php -q, fopen php и т.п.

Я так понял страниц достаточно много для парсинга и их нужно постоянно обновлять. Если нет, то все в один поток скрипя байтами можно тянуть.

Тогда:

ini_set('display_errors', 'off');

На главную, значит не критическая ;-)

Напоминает какую-то XML ошибку. А какой файл возвращает ошибку. Желательно строку из лога. Может и в шаблонизаторе проблема.

Игорь Скляр:

Отписал админу сайт - ответил директор компании, что мол не знал и будет разбираться.

Я и сам таким грешил когда-то давно, после пачки заявок просто вешал на страницы редирект. ;)

Оказывает воздействие хорошо сформированная заявка к регистратору домена и к хостеру. Последние должны уведомить обладателя сайта и открыть тикет.

Если сайт подчистую тянет, то должно что-то напрягать владельца, если же это копипасты с источником, то он может смело вас игнорить до санкций.

Попросите владельца разместить на вас ссылку. Еще хитрость, постите новости задним числом, пробуйте внедрять в новости скрытые скрипты, пробуйте менять теги, за которые цепляется парсер и найдите канал, чтобы вас быстрее индексировали. Гугл и яндекс вебмастер обязательно. В яндекс можно жаловаться на копипаст через интерфейс вебмастера (т.е. вы автор, а тот вот этот текст тырит).

Установите защиты на заходы ботов! Фиксируйте IP, скорее всего заходы с того же IP что и у сайта воришки. Чем сложнее будет парсинг, тем менее интересны будут ваши тексты.

Оформлять ИП это безрассудство, пока бизнес не начал приносить нормальные деньги. Тем более в Украине, когда там такие шальные действия и всем особо то наплевать))) имхо.


<div style="height: 160px;width: 50%;position: fixed;display:block;"><div class="byuka"> SHOPCODE </div></div>

Из byuka нужно убрать лишнее

.byuka {
width: 520px;
height: 160px;
z-index: 200;
}

Подробнее. Где вылетает и пример. Тут гадалок нет.

1. По всей видимости у вас кеш в браузере, по этой причине и быстро

2. Если парсите не с локалхоста, а с сервера - то значит у сервера канал шире

3. Возможно на сайте кеширование, страницы вне кеша долго грузит, а вы грузите ранее открываемые страницы сайта

4. Нагрузка на сайте который парсите скачет

Ускорить можно потоками на парсинг.. +

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

Это можно сделать стилями. Пример:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.size {
white-space: nowrap; /* Отменяем перенос текста */
overflow: hidden; /* Обрезаем содержимое */
padding: 5px; /* Поля */
text-overflow: ellipsis; /* Многоточие */
}
.size:hover {
background: #f0f0f0; /* Цвет фона */
white-space: normal; /* Обычный перенос текста */
}
</style>
</head>
<body>
<div class="size">Бессознательное вызывает контраст, это обозначено
Ли Россом как фундаментальная ошибка атрибуции, которая
прослеживается во многих экспериментах.</div>
</body>
</html>

Пример:

echo "<style>size {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px;} .size:hover {background:#f0f0f0;}</style><div class=\"center\"><img class=\"warn\" src=\"http://www.site.ru/img/1.png\" alt=\"warn\" border=\"0\" height=\"45\" width=\"51\">Вы переходите на другой сайт.<br /> Для подтверждения перехода кликните по ссылке:<br /><a class=\"size\" href=\"$url\" rel=\"nofollow\">$url</a></div></body>
</html>";

Не совсем понял что нужно. Но облагородил бы так.

echo "<div class=\"center\"><img class=\"warn\" src=\"http://www.site.ru/img/1.png\" alt=\"warn\" border=\"0\" height=\"45\" width=\"51\">Вы переходите на другой сайт.<br /> Для подтверждения перехода кликните по ссылке:<br /><a href=\"$url\">$url</a></div></body>
</html>";

function getHost($Address) {
$parseUrl = parse_url(trim($Address));
return trim($parseUrl[host] ? $parseUrl[host] : array_shift(explode('/', $parseUrl[path], 2)));
}

echo "<div class=\"center\"><img class=\"warn\" src=\"http://www.site.ru/img/1.png\" alt=\"warn\" border=\"0\" height=\"45\" width=\"51\">Вы переходите на другой сайт.<br /> Для подтверждения перехода кликните по ссылке:<br /><a href=\"$url\" rel=\"nofollow\">".getHost($url)."</a></div></body>
</html>";

еще небольшая поправка

$url = strip_tags($url); $url = str_ireplace(array('url=', 'data:', 'javascript:', '"'), '', $url);

а то можно было сделать так

go.php?url=" onclick="alert();"

тоде уязвимое на XSS место

Всего: 1070