- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Открытие странички с поисковым запросом делаю так:
$handle = fopen($url, "rb");
Раньше работало. Теперь в Яндексе вместо России, выдается выдача Украины(Харьков).
Для Yahoo выдается 999 ошибка.
Остальные поисковики и другие сайты через fopen открываются.
$content = file_get_contents('http://yandex.ru/');
С Яндекс вроде разобрался. Хостер перенес сервер.
Попробовал на другом хостинге, там выдача США.
NikolaZ добавил 21.01.2009 в 23:06
$content = file_get_contents('http://yandex.ru/');
Спасибо.
Буду иметь ввиду и эту функцию.
file_get_contents работает так же как и fopen.
Но страница
http://siteexplorer.search.yahoo.com/uk/search?p=http%3A%2F%2Fyandex.ru&bwm=i&bwmf=u&bwms=p&fr=siteexplorer&fr2=seo-rd-se
не открывается.
Воспользуйте библиотекой CURL в php.
Сыылка на доку на php.net
Воспользуйте библиотекой CURL в php.
Сыылка на доку на php.net
А в чем смысл использования CURL?
Посмотрел, в CURL так же используется fopen. Не понятно, что это может поменять, если fopen не работает с Yahoo. Готовый кусок кода для Yahoo есть ?
А в чем смысл использования CURL?
Посмотрел, в CURL так же используется fopen. Не понятно, что это может поменять, если fopen не работает с Yahoo. Готовый кусок кода для Yahoo есть ?
Смысл использования CURL: удобнее, можно легко передать хедеры, поддержка gzip и deflate и многое другое.
К примеру у меня и Яндекс и Яху парсятся отлично из любой страны. Почитатйте мануалы по CURLу и в частности по заголовка HTTP запросов (по-моему в них кроется истина).
P.S. А где вы прочитали, что CURL использует fopen?
P.P.S. Пример запроса через CURL отправляю в личку
karukite добавил 22.01.2009 в 09:51
Кстати, если совсем беда будет, попробуйте через сокет открывать соединение, эмулировать браузер и отправлять запросы. Может получиться.
Посмотрел, в CURL так же используется fopen
fopen() работает через сокет, а curl - самостоятельная библиотека, намного мощнее и более гибкая. Скажем, реферер при парсинге выдачи передавать нужно, а кроме как курл (или сокеты, но это не так удобно) этого не сделать.
Да и вобще это глупо такими функциями пользоваться для получения выдачи...
темболее яндекса и яху...
Curl однозначно, как уже было выше сказано.
С Яндексом проблем почти нет, после того, как стал запускать скрипт на другом хостинге.
Проблема была в том, что хостер перенес сервер на Украину и стала выдаваться выдача для Украины.
Работают и fopen, и file_get_contents и CURL одинаково.
Так же почти одинаково они работают с Yahoo.
Открывал эту ссылку: http://siteexplorer.search.yahoo.com/uk/search?p=http%3A%2F%2Fyandex.ru&bwm=i&bwmf=u&bwms=p&fr=siteexplorer&fr2=seo-rd-se
Везде выдаётся 999 ошибка.
The document has moved here.
Вполне возможно, что в Yahoo стоит защита от парсинга.
Попробовал в Делфи -> Вэббраузер, там эта ссылка Yahoo открывается.
на счет "The document has moved here." решал подобную проблему(кстати с помощью курла), но с гуглом.
поищи на phpclub ответ либо погугли.
fopen() работает через сокет, а curl - самостоятельная библиотека, намного мощнее и более гибкая. Скажем, реферер при парсинге выдачи передавать нужно, а кроме как курл (или сокеты, но это не так удобно) этого не сделать.
Curl эта та же самая надстройка над сокетами, что и fopen, только навороченная. А зачем человеку рефереры и куки для того что бы побыстрому спарсить ПС и найти там свой сайт? То что курл сделает в 5 строчек, file_get_contents сделает в одну.
ТС, у меня код
$f = file_get_contents('http://siteexplorer.search.yahoo.com/uk/search?p=http%3A%2F%2Fyandex.ru&bwm=i&bwmf=u&bwms=p&fr=siteexplorer&fr2=seo-rd-se');
echo($f);
открыл яху с адресом яндекса в поисковой строке без ошибок. Покажите свой код.