| веб-мастеру | блог веб-мастера | Статьи Веб-Мастера | SEO Tools | книги веб-мастеру |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| vovka2008 |
6.3.2008, 17:54
Сообщение
#1
|
|
Прохожий ![]() Группа: Пользователи Сообщений: 3 Регистрация: 6.3.2008 Пользователь №: 653 |
Проблема при обработке foto.mail.ru
Я написал php-парсер для каталога фотографий foto.mail.ru. Но с каталогом http://foto.mail.ru/catalog/erotic/1.html возникла сложность. Всё дело в том, что когда я открываю эту страницу, то происходит редирект на http://foto.mail.ru/catalog/static/warning...%2E%68%74%6D%6C ,а на других каталогах (например Авто) такого нету. Этот редирект ведёт на "Предупреждение-если Вам меньше 18 лет, то закройте браузер". И в редиректе две кнопки: "Войти в раздел" и "Отказаться от просмотра". Когда нажимаю "Войти в раздел", то попадаю на http://foto.mail.ru/catalog/erotic/1.html и тогда можно применять парсер. У меня к Вам вопрос: как программно нажать кнопку "Войти в раздел" и после этого получить содержимое http://foto.mail.ru/catalog/erotic/1.html при помощи языка PHP? А после того как я получу содержимое http://foto.mail.ru/catalog/erotic/1.html, то запущу на него парсер. Заранее спасибо |
| vovka2008 |
7.3.2008, 19:21
Сообщение
#2
|
|
Прохожий ![]() Группа: Пользователи Сообщений: 3 Регистрация: 6.3.2008 Пользователь №: 653 |
<?php
/*Я понял, что проблема в куках. вот исходник скрипта, НЕ работает, хотя куки указал. на первый взгляд все просто... для теста удали все куки от майла, зайди по ссылке (подтверди что тебе больше 18) и посмотри какие куки появились. mrcu p ero_accept опытным путем устанавливаем что нам необходима тока ОДНА кука, это ero_accept со значением 1. но вот и все... Я указал куки с помощью setcookie, но всё равно НЕ работает. */ setcookie("ero_accept", "1", time() + 6000, "foto.mail.ru", ".foto.mail.ru", 0); setcookie("ero_accept", "1", time() + 6000, ".foto.mail.ru", ".foto.mail.ru", 0); setcookie("ero_accept", "1", time() + 6000, "/", ".foto.mail.ru", 0); setcookie("ero_accept", "1", time() + 6000, "foto.mail.ru", "foto.mail.ru", 0); $text=join('', file('http://foto.mail.ru/catalog/erotic/1.html')); //$text=join('', file('http://foto.mail.ru/catalog/static/warning.html?back=http://foto.mail.ru/catalog/erotic/1.html&page=/&accept')); //$text=join('', file('http://foto.mail.ru/catalog/static/warning.html?back=http://foto.mail.ru/catalog/erotic/1.html')); echo $text; $picture_id='<div class="picture">'; for ($i=strpos($text, $picture_id); !empty($i); $i=strpos($text, $picture_id, $i+strlen($picture_id))) { /*ищем ссылку на полную версию картинки*/ $k=$i+strlen($picture_id); $k=strpos($text, "href", $k); $k=$k+6; $t1=$k; $t2=strpos($text, '"', $k); $link = substr($text, $t1, $t2-$t1); //echo $link."<br>"; /*ищем ссылку на эскиз*/ $k=$t2; $k=strpos($text, 'src="', $k); $k=$k+5; $t1=$k; $t2=strpos($text, '"', $k); $eskiz = substr($text, $t1, $t2-$t1); //echo $eskiz."<br><br>"; echo '<a href="view_foto.php?page='.$link.'" target="_blank"><img src="'.$eskiz.'" alt="картинка" height="120" width="120" BORDER=0></a>'; echo "<br><br>"; } ?> |
| gid |
8.3.2008, 12:41
Сообщение
#3
|
|
Администратор форума ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 541 Регистрация: 27.11.2006 Из: Россия Пользователь №: 1 |
Проблема в том, что эти кукисы должен устанавливать сервер mail.ru, а не ваш скрипт. Для решения этой проблемы необходимо использовать php-библиотеку curl , которая позволяет работать с кукисами и эмулировать работу обычного браузера.
-------------------- |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Раскрутка Вашего сайта | Пишу php скрипты на заказ | Регистрация Вашего сайта в каталогах | - | - | - | ICQ: 6-426-630 |
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 12.5.2008, 16:17 |