Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Что не так?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
alterman91
Отправлено: 05 Августа, 2014 - 16:38:58
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <html>
  2. <!DOCTYPE html>
  3. <meta charset="utf-8">
  4. <?PHP
  5. include ('simple_html_dom.php');
  6. // Create DOM from URL or file
  7. $list = file_get_html('urls.txt');
  8. $list = explode("\n", $list);
  9.  
  10. foreach($list as $address) {
  11. $html = file_get_html($address);
  12. $all=array();
  13.  
  14.     $image = $html->find('.fotorama__stage__frame fotorama__active fotorama__loaded fotorama__loaded--img img', 0);
  15.     $data['image'] = 'http://novostroy-m.ru' . $image->src;
  16.     unset($image);
  17.  
  18.  
  19.    $description=$html->find('.field-item even p',0);
  20.    $data['description']=$description->innertext;
  21.    unset($description);
  22.  
  23.     $property=$html->find('.property',0);
  24.     $data['property']=$property->innertext;
  25.     unset($property);
  26.  
  27.     $all[] = implode("[",$data);
  28.  
  29.  
  30.  
  31. }
  32. $csv = implode("\n", $all);
  33. file_put_contents('file.csv', $csv);
  34. ?>


Urls.txt
CODE (html):
скопировать код в буфер обмена
  1. http://www.novostroy-m.ru/baza/zhk_zolotaya_zvezda

выводит кучу хлама , с данной страницы просто нужно вытащить все фото, текст описания и адресс
 
 Top
esterio
Отправлено: 05 Августа, 2014 - 16:49:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




http://forum.php.su/topic.php?fo...&topic=14880
не дублируйте темы.
Та все не так

alterman91 пишет:
<html>
<!DOCTYPE html>

доктайп должен быть первым в теле документа

alterman91 пишет:
$list = file_get_html('urls.txt');

должен быть file_get_contents
или еще лучше file

зачем unset понатикали повсюду. переменные и так удаляться

alterman91 пишет:
$all[] = implode("[",$data);
}
$csv = implode("\n", $all);
file_put_contents('file.csv', $csv);

это не csv формат. csv формат имеет разделитель
а у вас будет что-то вроде
Цитата:
[abrakadabra[abrakadabra[abrakadabra
[abrakadabra[abrakadabra[abrakadabra

а также строкы заключены в скобкы
используйте fputcsv
 
 Top
alterman91
Отправлено: 05 Августа, 2014 - 17:43:01
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




esterio пишет:
http://forum.php.su/topic.php?fo...&topic=14880
не дублируйте темы.
Та все не так

alterman91 пишет:
<html>
<!DOCTYPE html>

доктайп должен быть первым в теле документа

alterman91 пишет:
$list = file_get_html('urls.txt');

должен быть file_get_contents
или еще лучше file

зачем unset понатикали повсюду. переменные и так удаляться

alterman91 пишет:
$all[] = implode("[",$data);
}
$csv = implode("\n", $all);
file_put_contents('file.csv', $csv);

это не csv формат. csv формат имеет разделитель
а у вас будет что-то вроде
Цитата:
[abrakadabra[abrakadabra[abrakadabra
[abrakadabra[abrakadabra[abrakadabra

а также строкы заключены в скобкы
используйте fputcsv

[ это и есть разделитель в данном случае
 
 Top
Tyoma5891
Отправлено: 05 Августа, 2014 - 17:47:19
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




у csv файла есть разделитель поля и разделитель текста, у Вас же просто свой формат какйото но не csv...
 
 Top
alterman91
Отправлено: 05 Августа, 2014 - 17:48:18
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Tyoma5891 пишет:
у csv файла есть разделитель поля и разделитель текста, у Вас же просто свой формат какйото но не csv...

я просто указываю в csv разделитель [
(Добавление)
Tyoma5891 пишет:
у csv файла есть разделитель поля и разделитель текста, у Вас же просто свой формат какйото но не csv...
 
 Top
Tyoma5891
Отправлено: 05 Августа, 2014 - 17:53:12
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




на каждом этапе для $data
 
 Top
alterman91
Отправлено: 05 Августа, 2014 - 17:57:54
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Tyoma5891 пишет: на каждом этапе для $data


PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <meta charset="utf-8">
  5. <!--error--><b>Fatal error</b>:  Call to a member function find() on a non-object in <b>D:\home\test1.ru\www\parser.php</b> on line <b>15</b><script language=JavaScript src='/denwer/errors/phperror_js.php'></script>
 
 Top
Tyoma5891
Отправлено: 05 Августа, 2014 - 18:02:11
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




видимо проблемка в этой строке:
PHP:
скопировать код в буфер обмена
  1. $html = file_get_html($address);

$html не явлеятся объектом класса
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB