|
|
|
| Вот я написал простой граббер вытяжки страниц с сайтов, но он работает только на тех страницах, которые являются индексовыми. Как сделать так чтоб качать с любой страницы данного сайта.
Вот пример сайта http://www.basket.ru/index.php?dn=season&to=position&id=14&ml=12
Помогите , пожалуйста решить эту проблему. | |
|
|
|
|
|
|
|
для: Rewart
(12.02.2009 в 22:52)
| | Чет не понятно.... а адрес поменять? | |
|
|
|
|
|
|
|
для: ddhvvn
(12.02.2009 в 23:04)
| | Ну вот код
$document = file_get_contents('http://basket.tambovsport.ru/');
$begin= explode('<table border=0 style="width:96%" bgcolor=D0D0D0 cellspacing=1 cellpadding=2>',$document);
$end = explode('</table>', $begin[1]);
|
Видирает благополучно с http://basket.tambovsport.ru/
Но вот если пишешь http://www.basket.ru/index.php?dn=season&to=position&id=14&ml=12
, и меняешь конечно строки в $begin и $end , то не работает... | |
|
|
|
|
|
|
|
для: Rewart
(12.02.2009 в 23:08)
| | В полученной вами строке, совсем не обязательно может быть '<table border=0 style="width:96%" bgcolor=D0D0D0 cellspacing=1 cellpadding=2>', даже при ее наличии. Она может иметь вид, например:
'<table border=0 style="width:96%" bgcolor=D0D0D0
cellspacing=1 cellpadding=2>'
и т.п.. Плюс к тому же, сама строка может содержать разное число пробелов. Убирайте из строки переводы строк и табуляцию перед получением массива. | |
|
|
|
|
|
|
|
для: sim5
(13.02.2009 в 03:02)
| |
$document = file_get_contents('http://www.basket.ru/index.php?dn=season&to=position&id=14&ml=12');
echo("$document ");
|
Попробовал просто вывести всю страницу -результата тоже нет, а раз не выводит страницу , то об отыскании каких либо границ вывода надо повременить. Похоже какая то проблема с самой страницей, или я ошибаюсь? Может как-нибудь надо по другому к ней обращаться?
Но на счёт обращения к строке, действительно, кодировки в опере и нотепаде++ разнятся. Учту на будущее. | |
|
|
|
|
|
|
|
для: Rewart
(12.02.2009 в 22:52)
| | Еще полезной для граббинга может оазатся не только file() -> explode() -> explode() а такая вещь как XML парсер,
$xml_string = file_get_contents('http://basket.tambovsport.ru/');
$xml = simplexml_load_string($xml_string);
|
И посмотреть что получится в итоге через echo var_dump($xml); | |
|
|
|
|
|
|
|
для: Giga
(13.02.2009 в 10:23)
| | Походу тама строки с XML нет) или есть ошибки. Раз выдает . Это с http://www.basket.ru/index.php?dn=season&to=position&id=14&ml=12
А вот с http://basket.tambovsport.ru/выбегает кучу предупреждений: типа кодировок , ошибок анализатора и.т.д. | |
|
|
|