Форум → Программирование → Пыхнуть хотите? → F.A.Q. → Парсинг страницы сайта (пример: курсы валют на сайт).
Парсинг страницы сайта (пример: курсы валют на сайт).
Страницы: ← Предыдущая страница • Следующая страница →
-
26 марта 2009 г. 21:50, спустя 29 минут 16 секунд
vlasenkov, а для какой цели узнавать какой тебе нужен прокси?https://smappi.org/ - платформа по созданию API на все случаи жизни -
26 марта 2009 г. 22:18, спустя 27 минут 51 секунду
adw0rd, всмысле, не понял вопроса? Я ничего не узнаю или вы про что? :) -
27 марта 2009 г. 7:47, спустя 9 часов 28 минут 42 секунды
vlasenkov, я про
Тогда другой вопрос, мне дадут допустим, десяток этих адресов, мне их лучше рандомом использовать или как-то можно сделать, чтобы само выбиралось какой использовать?vlasenkov, а для какой цели узнавать какой тебе нужен прокси?
https://smappi.org/ - платформа по созданию API на все случаи жизни -
27 марта 2009 г. 9:41, спустя 1 час 54 минуты 15 секунд
adw0rd, я опять немного не понял вопроса. Я спрашивал что мне могут дать на этом сайте, список проксей или что? И хотел узнать как лучше их выбирать, чтобы меня не забанили. -
27 марта 2009 г. 10:02, спустя 20 минут 48 секунд
Я спрашивал что мне могут дать на этом сайте, список проксей или что?
Да, скорее всего список проксей, я не всматривался в сайт
И хотел узнать как лучше их выбирать, чтобы меня не забанили.
Никак, ты же не можешь предугадать по какому IP тебя забанят, так что методом тыка, не получилось приконнектится, то берешь другой IPhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
27 марта 2009 г. 10:33, спустя 31 минуту 4 секунды
Пирсинг страницы сайта!!!
РИАЛЬНЕ!все умрут, а я изумруд -
-
28 марта 2009 г. 19:40, спустя 8 часов 12 минут 51 секунду
У меня появился еще один вопрос, как чекать прокси? Я делаю так, но почему-то зацикливание какое-то и постоянно вылезает вся страница
функция у меня оформлена в классе:
…
//получаем один прокси
//из всего массива
function one_proxy($aproxy)
{
$count = count($aproxy) - 1;
$number = rand(0, $count);
//выбираем и проверяем прокси
$proxy = $aproxy[$number];
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.vlasenkov.com");
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$result = curl_exec($ch);
curl_close($ch);
if( !empty($result) )
{
if( preg_match("/vlasenkov/i", $result) )
return $proxy;
else
$this->one_proxy($aproxy);
}
else
$this->one_proxy($aproxy);
//return $proxy;
}
…
и в другом файле собственно вызываю эту функцию так:
//выбираем один из проксей
$proxy = $parser->one_proxy($aproxy);
echo $proxy;
Но почему-то он не выводит прокси, или выводит всю страницу, если даже страница отображается то все равно цикл продалжается, что не так?
Спасибо! -
28 марта 2009 г. 20:16, спустя 36 минут 25 секунд
Я так понял, что $result = curl_exec($ch); выводит содержимое страницы в браузер, а как ее поместить просто в переменную, чтобы не выводилось ничего, а просто хранилось в переменной? -
28 марта 2009 г. 20:23, спустя 6 минут 33 секунды
Проблему решил :)
Чтобы она ничего не выводила надо установить следующее:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1)
$result = curl_exec($ch); -
-
2 марта 2010 г. 19:55, спустя 338 дней 21 час 15 минут
<?php
//Определяем сегодняшнюю дату в формате, который используется на сайте cbr.ru
$date = date("d.m.Y");
//Определим код нашей валюты на сайте cbr.ru
//Америконский доллар
$code='R01235';
//Выполняем первый пункт, считываем страницу с курсами валют в переменную
$file = file_get_contents("http://www.cbr.ru/currency_base/D_print.aspx?date_req=".$date);
//Разбираем страницу с помощью регулярок:
preg_match("#<Valute ID=\"" . $code . "\".*?>(.*?)</Valute>#is", $file, $m);
preg_match("#<Value>(.*?)</Value>#is", $m[1], $r);
//Запятую, отделяющую дробную часть заменяем на точку, и у нас в переменной $dollar находится курс доллара.
$dollar = str_replace(",", ".", $r[1]);
?>
Немного переделал заменив http://www.cbr.ru/scripts/XML_daily.asp?date_req= на http://www.cbr.ru/currency_base/D_print.aspx?date_req=
Что то на время начал ругаться, а в чем конкретно не пойму, может подскажете. Пишет следующее, запускаю на DENVER(E)
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for '3.0/no DST' instead in Z:\home\phpsite1\www\pars-kursy.php on line 12 -
2 марта 2010 г. 21:10, спустя 1 час 15 минут 16 секунд
Palanik, зона не установлена в Денвере. К браткам обратитесь. -
3 марта 2010 г. 22:07, спустя 1 день 56 минут
<?php
//Определяем сегодняшнюю дату в формате, который используется на сайте cbr.ru
$date = date("d.m.Y");
//Выполняем первый пункт, считываем страницу с курсами валют в переменную
$file = file_get_contents("http://www.cbr.ru/currency_base/D_print.aspx?date_req=".$date);
//Разбираем страницу с помощью регулярок:
preg_match("/\<tr\>\<td align=\"right\"\>840.*?\>(.*?)\<\/tr>/is", $file, $m);
//Запятую, отделяющую дробную часть заменяем на точку, и у нас в переменной $dollar находится курс доллара.
$dollar = str_replace(",", ".", $m[1]);
echo $m[1];
?>
Благодарю за наводку, оказывается нужно было обновить своего Денвера - только и всего.
Код привёл в актуальный вид, правда выплёвывает всё в кодировке utf8. -
3 марта 2010 г. 22:10, спустя 3 минуты 7 секунд
ппц.. а то типо гавно да? :)
Благодарю за наводку, оказывается нужно было обновить своего Денвера - только и всего.
Код привёл в актуальный вид, правда выплёвывает всё в кодировке utf8.
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!