[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Реально л итакое осуществить?
Гость_Андрей
Привет. Нужна помощь. Смысл такой:
Мне нужно про сканировать php страницы инородного сайта на присутствие там определённых слов.
В регулярных выражениях я немного разбираюсь, в PHP тоже разбираюсь, но как такое осуществит не имею понятия. Что для этого надо, какие функции?



Спустя 23 минуты, 13 секунд (1.08.2011 - 17:32) Гость_Андрей написал(а):
Узнал о file_get_contents, но на сайте, который хочу отобразить есть авторизация. Возможно ли использовать сохранённые cookies?

Спустя 2 минуты, 10 секунд (1.08.2011 - 17:34) Sanchopansa написал(а):
$content = file_get_contents("http://domain.com");
if(strpos($content,'искомая строка'))
{
echo "Уряяя!!! Нашел";
} else {
echo 'Блин опять неудача:(';
}

Спустя 57 секунд (1.08.2011 - 17:35) Sanchopansa написал(а):
Если тебе нужно пройти авторизацию на сайте то тогда кури в сторону cURL

Спустя 29 минут, 9 секунд (1.08.2011 - 18:04) Guest написал(а):
Цитата (Sanchopansa @ 1.08.2011 - 14:35)
Если тебе нужно пройти авторизацию на сайте то тогда кури в сторону cURL

Глянул мануалы, погуглил...

// у нас есть результат обработки файла 
$result1 = curl_exec($ch);

// вырезаем со страницы все куки которые пришли
preg_match_all('~Set-Cookie: (***91;^\r\n***93;*)***91;\r\n***93;~i',$result1,$mass);

// собираем их в строчку для CURL
$all_cookie_string = implode(" ", $mass***91;1***93;);

curl_setopt($ch, CURLOPT_COOKIE, $all_cookie_string);

$yandex = file_get_contents("http://kinozal.tv/takelogin.php"); # В переменную yandex
echo $yandex;


Вот такое вроди должно работать, но не работает...

Спустя 9 минут, 44 секунды (1.08.2011 - 18:14) Sanchopansa написал(а):
Цитата
Одной из полезных фич Curl’а является возможность использования кук при запросах. Использовать их можно двумя способами:
1) Подставляя куку в запрос вручную вот так curl_setopt($ch, CURLOPT_COOKIE, $cook); Этот способ хорош тем что вы полностью контролируете что прописано в куке и можете подредактировать её по своему желанию. Из этого обстоятельства следует и недостаток – приходится вручную разбираться, для какого сабдомена предназначена кука, когда она истекает и т.д.
2) Способ с использованием файла. Всё что нужно сделать это прописать две строчки:
curl_setopt($ch, CURLOPT_COOKIEJAR, $kfName);
curl_setopt($ch, CURLOPT_COOKIEFILE, $kfName);
После этого все запросы будут брать куку из файла и записывать новую полученную в тот же файл, забивать голову валидностью кук уже не надо. Файл естественно должен быть свой для каждого домена.

Один тонкий момент при использовании файлов для кук с курлом - надо внимательно смотреть, правильно ли прописан путь к файлу, включая то как у вас наклонены слеши. Сам ПХП в этом менее разборчив, под виндой (\) он может прочитать юниксовые слеши в неправильную сторону (/), но курл почему-то этого делать не умеет, поэтому если вы тестируете код под Денвером – имейте в виду что с неправильными слешами файл кук не будет создан. Если верить Гуглу, то это довольно частая проблема.


Вот тебе в помощь.. я реально с помощью этого способа писал бота для популярной браузерной игры.. бота для себя конечно smile.gif

Спустя 2 минуты, 40 секунд (1.08.2011 - 18:17) Sanchopansa написал(а):

Спустя 34 минуты, 44 секунды (1.08.2011 - 18:51) Guest написал(а):
Всё же нуб я ещё в этом.
Сделал так:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://kinozal.tv/takelogin.php');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot (http://kinozal.tv/takelogin.php)');
$data = curl_exec($ch);
curl_close($ch);

$yandex = file_get_contents("http://kinozal.tv/uservotes.php?id=2528630"); # В переменную yandex
echo $yandex;


Не работает...

Спустя 56 минут, 20 секунд (1.08.2011 - 19:48) denash написал(а):
Цитата (Гость_Андрей @ 1.08.2011 - 14:09)
Привет. Нужна помощь. Смысл такой:
Мне нужно про сканировать php страницы инородного сайта на присутствие там определённых слов.
В регулярных выражениях я немного разбираюсь, в PHP тоже разбираюсь, но как такое осуществит не имею понятия. Что для этого надо, какие функции?

Такое ощущение по твоему вопросу создалось, что ты сам php код хочешь пропарсить на другом сайте. Если б это было возможно, то тогда бы мировой интернет не существовал.(покрайней мере в таком вид как сейчас)

Спустя 14 минут, 33 секунды (1.08.2011 - 20:02) Guest написал(а):
Цитата (denash @ 1.08.2011 - 16:48)
Цитата (Гость_Андрей @ 1.08.2011 - 14:09)
Привет. Нужна помощь. Смысл такой:
Мне нужно про сканировать php страницы инородного сайта на присутствие там определённых слов.
В регулярных выражениях я немного разбираюсь, в PHP тоже разбираюсь, но как такое осуществит не имею понятия. Что для этого надо, какие функции?

Такое ощущение по твоему вопросу создалось, что ты сам php код хочешь пропарсить на другом сайте. Если б это было возможно, то тогда бы мировой интернет не существовал.(покрайней мере в таком вид как сейчас)

Оу, круть! По мне не видно видимо, что я не бум бум и не понимаю, что я пытаюсь сделать? Не можете или не хотите помочь, проходите мимо плиз.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.