Граббер на PHPвалютные котировки, новости и т.д.
#1
Отправлено 06.03.2008, 15:48:08
#2
Отправлено 06.03.2008, 16:43:53
Помогут деньги и ПХП-шник...Подскажите хоть что-нибудь, что помогло бы написать граббер на PHP - функции, расширения, модули... хотя бы направление... В нете очень скудно насчет этого. И еще - неужели нет законного способа поставить себе автоматически обновляющиеся новости? Чтобы именно на твоем сайте были не только заголовки, но и статьи.
Законно разместить чужие новости вроде никто и не запрещает, если учтены все авторские права и/или материал с разрешения автора.
#3
Отправлено 06.03.2008, 18:32:01
Разум. Подойдет и обычныйПодскажите хоть что-нибудь, что помогло бы написать граббер на PHP - функции, расширения, модули...
Например, на http://norbekov.kz на главной странице есть новости с www.donor.kz
Все элементарно - открыл страницу, нашел новость и усе
#8
Отправлено 07.03.2008, 12:04:58
зависит от настроек пхп.reject, Спасибо! На многих форумах читал что-то про c_url и socket, но еще не работал с этим. А как можно fopen использовать допустим к finance.google.com? Разве вообще fopen работает с HTTP?
подсказка: где работает fopen, там сработает и file_get_contents
в целом это будет что-то подобное:
$url = "http://finance.google.com"; $cachefile = "finance_google_com.cache"; $cache_lifetime = 3600; // Кэш будет жить 1 час if(time()-filemtime($cachefile)>$cache_lifetime) { $buffer = file_get_contents($url); $fh = fopen($cachefile, "w"); fputs($fh, $buffer); fclose($fh); } $info = file_get_contents($cachefile); echo parseChart($info); // Это должна быть функция, разбирающая полученные данные
Сообщение отредактировал Majesty: 07.03.2008, 12:05:47
#10
Отправлено 07.03.2008, 13:50:36
гмм... речь-то идёт, как я понял автора, о заведомо малых объёмах (погода, курсы, котировки, етс)... если заранее неизвестно, сколько чего получать, то лучше, конечно читать так:Народ, вы бы поосторожнее пользовались file_get_contents()... Особенно на шаредхостингах. А вдруг там несколько гигов лежит внутри? А оно всё в память поднимает.
$fh = fopen($url, "r"); while(strlen($buffer)<$buffer_max_size && !feof($fh)) { $buffer .= fgets($fh, 1024); } fclose($fh);а лучше вообще не читать
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0