Скажите пожалуйста, как можно легко и быстро реализовать парсинг таблицы с сайта Новости
Спустя 14 минут, 55 секунд (8.01.2010 - 16:47) VolCh написал(а):
file_get_contents и регулярки
Спустя 29 минут, 34 секунды (8.01.2010 - 17:16) soniclord написал(а):
а можно ли по-подробнее :-)
Спустя 52 минуты, 49 секунд (8.01.2010 - 18:09) VolCh написал(а):
Примерно так
$html=file_get_contents("http://www.vesti.ru/fininfo.html?nojquery=1");
$table=preg_match_all("#(<td>(.*?)</td>.*?)*#", $html);
var_dump($table);
Спустя 1 час, 21 минута, 54 секунды (8.01.2010 - 19:31) jetistyum написал(а):
VolCh
Ты не оставляешь человеку возможности поковыряться в мануалах и выяснить что же такое регулярки... что же такое file_get_contents();
завтра он придет с вопросом, а как мне вытащить новости с такого сайта, а послезавтра с третьего...
Ты не оставляешь человеку возможности поковыряться в мануалах и выяснить что же такое регулярки... что же такое file_get_contents();
завтра он придет с вопросом, а как мне вытащить новости с такого сайта, а послезавтра с третьего...
Спустя 1 час, 3 минуты, 24 секунды (8.01.2010 - 20:35) VolCh написал(а):
jetistyum
пороется когда этот код у него не заработает или заработает не так как хочется
пороется когда этот код у него не заработает или заработает не так как хочется
Спустя 10 часов, 40 минут, 15 секунд (9.01.2010 - 07:15) soniclord написал(а):
да, пришлось порыться, так как он не заработал
Спустя 51 минута, 39 секунд (9.01.2010 - 08:07) soniclord написал(а):
нифига не получается в самой первой строке, пишет: Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Этот хост неизвестен.
я уже гугл прочесал, пробовал вводить ip вместо dns, ничего не получается
я уже гугл прочесал, пробовал вводить ip вместо dns, ничего не получается
Спустя 32 минуты, 56 секунд (9.01.2010 - 08:39) soniclord написал(а):
разобрался!
// Define a context for HTTP.
$aContext = array(
'http' => array(
'proxy' => 'tcp://192.168.0.2:3129', // This needs to be the server and the port of the NTLM Authentication Proxy Server.
'request_fulluri' => True,
),
);
$cxContext = stream_context_create($aContext);
// Now all file stream functions can use this context.
$sFile = file_get_contents("http://www.vesti.ru/fininfo.html?nojquery=1", False, $cxContext);
echo $sFile;
$table=preg_match_all("#(<td>(.*?)</td>.*?)*#", $html);
var_dump($table);
Спустя 8 минут, 59 секунд (9.01.2010 - 08:48) VolCh написал(а):
О, я б, наверное, долго думал в чем проблема
Спустя 8 минут, 32 секунды (9.01.2010 - 08:57) soniclord написал(а):
теперь с регулярными не могу разобраться.
Теперь он выводит
$table=preg_match_all("#(<td>(.*?)</td>.*?)*#", $html);изначально требовал 3й параметр - вывод. Добавил
$table=preg_match_all("#(<td>(.*?)</td>.*?)*#", $sFile,$out);
var_dump($table);
Теперь он выводит
int(27216)
Спустя 5 минут, 34 секунды (9.01.2010 - 09:03) VolCh написал(а):
Вот что значит писать по памяти дампай $out
Спустя 8 минут, 34 секунды (9.01.2010 - 09:11) soniclord написал(а):
тогда он выводит
array(3) { [0]=> array(27216) { [0]=> string(0) ""- и так раз тыщу
[1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" [5]=> string(0) ""
[6]=> string(0) "" [7]=> string(0) "" [8]=> string(0) "" [9]=> string(0) "" [10]=> string(0) "" [11]=> string(0) ""
[12]=> string(0) "" [13]=>
Спустя 2 часа, 40 минут, 37 секунд (9.01.2010 - 11:52) VolCh написал(а):
В общем тебе надо написать регулярку такую, чтобы:
И тогда $out будет забит не пустыми строками, а значениями из таблицы
- в неё попадало все что между <td> и </td>
- игнорировала возможность наличия class="..."
- игнорировала незначащие пробелы
- игнорировала переводы строк в исходнике
И тогда $out будет забит не пустыми строками, а значениями из таблицы
Спустя 1 час, 58 минут, 41 секунда (9.01.2010 - 13:50) soniclord написал(а):
помогите пожалуйста, а я отблагодарю, просто нет времени разбираться с регулярками. А классы не надо игнорировать - я просто от туда стили скачаю.
если вы согласны, моя ася - 213061116
если вы согласны, моя ася - 213061116