| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
newmen Пенни
Зарегистрирован: 24.10.2004 Сообщения: 4
|
Добавлено: Чт Ноя 11, 2004 1:51 pm Заголовок сообщения: Поиск обратной ссылки на странице |
|
|
Помогите пожалуйста.
Я хочу - найти свою ссылку на странице ссылающегося сайта
пока не знаю как написать через preg_match_all
пишу preg_match_all("!<a[^>]+href=\"?'?([^ \"'>]+)\"?'?[^>]*>(/\d(\d)\d/)</a>!is",$result,$ok);
где $result - код страницы в html, $ok - полученный результат.
Но этот поиск выдает все ссылки с сайта.
Как мне найти конкретную ссылку например на сайт http://www.site.ru?
помогите советом.
Заранее благодарен. |
|
| Вернуться к началу |
|
 |
Поручик Квоттер
Зарегистрирован: 06.11.2004 Сообщения: 341 Откуда: Оренбург
|
Добавлено: Чт Ноя 11, 2004 3:45 pm Заголовок сообщения: |
|
|
А не проще сделать так
$mysite="http://www.site.ru";
if (preg_match("/$mysite/i",$result)){
print "A match was found.";
} else {
print "A match was not found.";
} _________________ Профессионал - тот же дилетант, только знающий где ошибётся |
|
| Вернуться к началу |
|
 |
magnus Дайм
Зарегистрирован: 28.09.2004 Сообщения: 11 Откуда: Санкт-Петербург
|
Добавлено: Пн Ноя 15, 2004 7:01 am Заголовок сообщения: |
|
|
| А есть еще какие либо варианты? |
|
| Вернуться к началу |
|
 |
Поручик Квоттер
Зарегистрирован: 06.11.2004 Сообщения: 341 Откуда: Оренбург
|
Добавлено: Пн Ноя 15, 2004 12:49 pm Заголовок сообщения: |
|
|
можно использовать функцию strpos _________________ Профессионал - тот же дилетант, только знающий где ошибётся |
|
| Вернуться к началу |
|
 |
kochugov Квоттер
Зарегистрирован: 22.06.2004 Сообщения: 372 Откуда: msk
|
Добавлено: Пн Ноя 15, 2004 3:03 pm Заголовок сообщения: |
|
|
| Поручик писал(а): | | можно использовать функцию strpos |
stristr  _________________ PPC UmaxSearch v 999.99 - самая русская из денежных PPC
Новая PPC - Marketing.3fn - 80% от бида, еженедельные выплаты |
|
| Вернуться к началу |
|
 |
newmen Пенни
Зарегистрирован: 24.10.2004 Сообщения: 4
|
Добавлено: Вт Ноя 16, 2004 9:06 pm Заголовок сообщения: |
|
|
но мне нужно найти все слова для данного сайта, т.е.
<a href="http://www.site.ru/page1.html">страница 1</a><a href="http://www.site.ru/page2.html">страница 2</a>
при таком запросе я получу слова страница 1 и страница 2...
хотя надо подумать как еще сделать получше... |
|
| Вернуться к началу |
|
 |
Поручик Квоттер
Зарегистрирован: 06.11.2004 Сообщения: 341 Откуда: Оренбург
|
Добавлено: Сб Дек 18, 2004 3:30 pm Заголовок сообщения: |
|
|
А ведь поиск ссылки на конкретной странице сайта-партнера может ничего не дать. Всякое может быть, например изменилась структура сайта и владелец не уведомил партнеров об этом.
Лучше всего вместе с проверкой страницы запрашивать еще и поисковую систему.
Примерно вот так для яндекса:
-------------------
| Код: |
$sitepart="www.part.ru"; //сайт-партнер
$mysite="www.mysite.ru";//ваш сайт
$url = "http://www.yandex.ru/yandsearch?surl=".$sitepart."&text=link%3D%22".$mysite."%2A%22";
//делаем запрос и скачиваем страницу
$fd = fopen($url,"r");
$buffer = "";
while( ! feof($fd) ) $buffer .= fgets($fd, 4096); //скачиваем страницу с поисковика
fclose($fd);
//далее анализируем или title или текст полученной страницы
//Яndex: link="www.mysite.ru*" (108)
//Результат поиска: страниц — 108
|
-----
Есть же случаи, когда страница ссылки не индексируется вообще. Например сайты на бесплатных хостингах. Просмотрел сейчас некоторые сайты-партнеры. Ссылка на меня есть, но страницы в индексе нет, хотя ссылка находится там уже года полтора. Ну и какой смысл держать у себя линки? _________________ Профессионал - тот же дилетант, только знающий где ошибётся |
|
| Вернуться к началу |
|
 |
WebByte Квоттер
Зарегистрирован: 25.06.2004 Сообщения: 314 Откуда: Владивосток
|
Добавлено: Сб Дек 18, 2004 5:04 pm Заголовок сообщения: |
|
|
Конкуренты
Между прочим, регексп прост до безобразия. |
|
| Вернуться к началу |
|
 |
fk Дайм
Зарегистрирован: 02.09.2004 Сообщения: 17 Откуда: Санкт-Петербург
|
Добавлено: Чт Янв 20, 2005 1:25 am Заголовок сообщения: |
|
|
Собственно говоря по топику...
| Код: | $data = "<a href=\"http://www.site.ru/page1.html\">страница 1</a><a href=\"http://www.site.ru/page2.html\">страница 2</a>";
preg_match_all ("/<a[^\"']+[\"']([^\"']+)[\"']>/", $data, $result);
print_r ($result);
|
data - нужно прочитать со страницы и ссылка получаете перечень всех ссылок на сайте, при условии что они в кавычках.... Ну а иначе модифицировать не проблема .
Поручик, думаю в двойне не правильный подход у Вас к работе с Яндексом...
рекомендуется по мере возможности маскировать робота под обычного пользователя, чтоб не подрезали ... и использовать fsockopen вместо fopen.
Спасибо. |
|
| Вернуться к началу |
|
 |
WebByte Квоттер
Зарегистрирован: 25.06.2004 Сообщения: 314 Откуда: Владивосток
|
Добавлено: Чт Янв 20, 2005 2:06 am Заголовок сообщения: |
|
|
| fk писал(а): |
Поручик, думаю в двойне не правильный подход у Вас к работе с Яндексом...
рекомендуется по мере возможности маскировать робота под обычного пользователя, чтоб не подрезали ... и использовать fsockopen вместо fopen.
|
Если на то уже пошло, то вместо указанных - curl_exec() и тащить через прокси. |
|
| Вернуться к началу |
|
 |
fk Дайм
Зарегистрирован: 02.09.2004 Сообщения: 17 Откуда: Санкт-Петербург
|
Добавлено: Чт Янв 20, 2005 11:08 am Заголовок сообщения: |
|
|
| Цитата: | | Если на то уже пошло, то вместо указанных - curl_exec() и тащить через прокси. |
Неее. Через fsockopen лучше... , по крайней мере с точки зрения любителей письма руками...  |
|
| Вернуться к началу |
|
 |
WebByte Квоттер
Зарегистрирован: 25.06.2004 Сообщения: 314 Откуда: Владивосток
|
Добавлено: Чт Янв 20, 2005 12:05 pm Заголовок сообщения: |
|
|
Ни разу в бане Яндекса не был? Если автоматом пару сотен запросов через fsockopen прогнать, то через сколько забанят твой ip?
Попробуй  |
|
| Вернуться к началу |
|
 |
fk Дайм
Зарегистрирован: 02.09.2004 Сообщения: 17 Откуда: Санкт-Петербург
|
Добавлено: Чт Янв 20, 2005 1:28 pm Заголовок сообщения: |
|
|
WebByte, да не был в бане. В последний раз я прогнал порядка 180 запросов... не используя проксиков напрямую... никаких последствий ни на яндексе ни на рамблере...
Вообще если любишь разбираться в механизмах... почитай здесь:
http://ru2.php.net/manual/ru/function.fsockopen.php |
|
| Вернуться к началу |
|
 |
WebByte Квоттер
Зарегистрирован: 25.06.2004 Сообщения: 314 Откуда: Владивосток
|
Добавлено: Чт Янв 20, 2005 1:46 pm Заголовок сообщения: |
|
|
Повезло. Мне уже приходили письма с требованием объяснить автоматические запросы с моего ip.
А функция мне известна. Не первый год для веба пишу. |
|
| Вернуться к началу |
|
 |
fk Дайм
Зарегистрирован: 02.09.2004 Сообщения: 17 Откуда: Санкт-Петербург
|
Добавлено: Чт Янв 20, 2005 1:55 pm Заголовок сообщения: |
|
|
да... без доли везения тут сложно обойтись.... хотя можно и побороться за халяву даже если не повезло...
Я верю что вункция известна, потому и дал ссылку... там интересно не описание функции а примеры использования  |
|
| Вернуться к началу |
|
 |
|