Мне нужно про сканировать 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); После этого все запросы будут брать куку из файла и записывать новую полученную в тот же файл, забивать голову валидностью кук уже не надо. Файл естественно должен быть свой для каждого домена. Один тонкий момент при использовании файлов для кук с курлом - надо внимательно смотреть, правильно ли прописан путь к файлу, включая то как у вас наклонены слеши. Сам ПХП в этом менее разборчив, под виндой (\) он может прочитать юниксовые слеши в неправильную сторону (/), но курл почему-то этого делать не умеет, поэтому если вы тестируете код под Денвером – имейте в виду что с неправильными слешами файл кук не будет создан. Если верить Гуглу, то это довольно частая проблема. |
Вот тебе в помощь.. я реально с помощью этого способа писал бота для популярной браузерной игры.. бота для себя конечно
Спустя 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) | ||
Такое ощущение по твоему вопросу создалось, что ты сам php код хочешь пропарсить на другом сайте. Если б это было возможно, то тогда бы мировой интернет не существовал.(покрайней мере в таком вид как сейчас) |
Оу, круть! По мне не видно видимо, что я не бум бум и не понимаю, что я пытаюсь сделать? Не можете или не хотите помочь, проходите мимо плиз.