Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсер 
:(
    Опции темы
Predator199
Дата 26.5.2014, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Ребят. Есть скрипт, в нем прописал


Код

require_once '/simple_html_dom.php';


$html = file_get_html('https://www.test1.ru/');

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';


Библиотеку подключил, а в ответ
Warning: file_get_contents() [function.file-get-contents]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Z:\home\test2.ru\www\simple_html_dom.php on line 76

Warning: file_get_contents(https://www.test1.ru/) [function.file-get-contents]: failed to open stream: Invalid argument in Z:\home\test2.ru\www\simple_html_dom.php on line 76

Fatal error: Call to a member function find() on a non-object in Z:\home\test2.ru\www\t.php on line 9
PM MAIL   Вверх
Aliance
Дата 26.5.2014, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(Predator199 @  26.5.2014,  14:53 Найти цитируемый пост)
Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

ну так вот и ошибка. нужно включить враппер http. проверьте наличие подключенного php_openssl.
PM MAIL WWW ICQ Skype   Вверх
Predator199
  Дата 26.5.2014, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Спс. Не подскажешь, откуда можно скачать php_openssl.dll?
На оф сайте php, не нашел...
PM MAIL   Вверх
Predator199
  Дата 26.5.2014, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Нашел...
Вот такой вопрос.
Есть три блока.
<table><tr><td></td><td id="f"></td><td></td></tr></table>

Не подскажете как добраться до второго по  id="f".
Я,что та запутался. Так , чтобы работать уже только с тем контентом, что находится внутри второго блока...

Добавлено через 5 минут и 2 секунды
Разобрался...

Добавлено через 13 минут и 29 секунд
Вот задача. 
Код

$hl = $html->find(".block_altc", 0);

print($hl);


Если классов несколько в документе. Как их перебрать через цикл, все?
PM MAIL   Вверх
Predator199
Дата 26.5.2014, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Как я понимаю, необходимо прописать так.
Код

$hl = $html->find('div[class=block_altc]');

print($hl);

Другой вопрос, почему print не в состоянии отобразить содержимое массива?
PM MAIL   Вверх
Aliance
Дата 26.5.2014, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Модератор: Пожалуйста, один топик - один вопрос.

Цитата(Predator199 @  26.5.2014,  17:50 Найти цитируемый пост)
почему print не в состоянии отобразить содержимое массива? 

потому что он печатает строки. Чтобы вывести дамп массива - используй print_r / var_dump
PM MAIL WWW ICQ Skype   Вверх
Predator199
Дата 26.5.2014, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Что та не получается, не понимаю.

Есть массив. $hl

Код

require_once '/simple_html_dom.php';


$html = file_get_html('https://www.test1.ru/');

$hl = $html->find('div[class=block_altc]');

foreach ($hl as $value) 
print_r($value);


Я пытаюсь , перебрать каждый класс block_altc. И в цикле поработать с самим контентом, что внутри класса. Для того, чтобы сформировать массив, а после обновить записи в таблице.
Как это сделать?
PM MAIL   Вверх
Aliance
Дата 26.5.2014, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Что выдает print_r($hl); сюда скинь.
PM MAIL WWW ICQ Skype   Вверх
Predator199
Дата 26.5.2014, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Цитата(Aliance @ 26.5.2014,  18:23)
Что выдает print_r($hl); сюда скинь.

Слишком огромный массив, аш браузер виснет... И грузит постоянно... smile 
Можно ли как то без этого показать на примере?

Добавлено через 41 секунду
К примеру на  этом html коде страницы
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> 
</head>
<body>    
<div class="s"></div>
<div class="ds">
<div class="block_altc"><div class="bl">1</div><div class="bl2">2</div></div>
<div class="block_altc"><div class="bl">1</div><div class="bl2">2</div></div>
<div class="block_altc"><div class="bl">1</div><div class="bl2">2</div></div>
<div class="block_altc"><div class="bl">1</div><div class="bl2">2</div></div>
</div>            
</body>
</html>

PM MAIL   Вверх
Aliance
Дата 26.5.2014, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Без этого никак. Я же не знаю какой формат возвращает класс, который подключается из файла.

Тогда выложи результат этого:
Код

foreach ($hl as $value)  {
    print_r($value);exit;
}

PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.