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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение содержимого страницы 
:(
    Опции темы
mustafallah
Дата 5.5.2008, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо и на этом smile
Я хотел бы посмотреть на реализацию без курла
PM MAIL   Вверх
americanets
Дата 5.5.2008, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



Вот реализация без курл и сокетов

Код

$lines = file ('http://market.yandex.ru/model.xml?hid=90639&modelid=951099');
// Осуществим проход массива и выведем номера строк и их содержимое в виде html-кода.
foreach ($lines as $line_num => $line)
{
    if(preg_match('/Средняя цена:(.*?)р./',$line,$match)){
      print_r($match);
 }
}


Добавлено через 3 минуты и 28 секунд
http://www.ozon.ru/?context=search&tex...%CD%E0%E9%F2%E8



Это сообщение отредактировал(а) americanets - 5.5.2008, 11:39


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
mustafallah
Дата 8.5.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Что не так?
Не могу вывести все значения...

Код


<?
// Создаем массив ссылок
$links[0] = 'http://market.yandex.ru/model.xml?hid=91019&modelid=1584121';       // процессор
$links[1] = 'http://market.yandex.ru/model.xml?hid=91031&modelid=989100';         // видеокарта
$links[2] = 'http://market.yandex.ru/model.xml?hid=91035&modelid=1578835';         // DVD RW
$links[3] = 'http://market.yandex.ru/model.xml?hid=91020&modelid=1577953';         // материнская плата
$links[4] = 'http://market.yandex.ru/model.xml?hid=818965&modelid=1001612';         // кулер для процессора
$links[5] = 'http://market.yandex.ru/model.xml?hid=91028&modelid=1600890';         // корпус
$links[6] = 'http://market.yandex.ru/model.xml?hid=91033&modelid=1035963';         // HDD
$links[7] = 'http://market.yandex.ru/model.xml?hid=191211&modelid=1598284';      // оперативная память

// Определяем счетчик
$i=0;

// Создаем условие
while ($i <=7) {
$lines = file ($links[$i]);
// Осуществим проход массива и выведем номера строк и их содержимое в виде html-кода.
    foreach ($lines as $line)
    {
        if(preg_match('/Средняя цена:(.*?)р./',$line,$match)){
        print_r($match);
            }
    }
    $i++;
}
?>

PM MAIL   Вверх
americanets
Дата 8.5.2008, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



Код

preg_match_all


Добавлено через 19 секунд
http://ru2.php.net/preg_match


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
mustafallah
Дата 17.5.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Что-то не получается никак :(.
PM MAIL   Вверх
americanets
Дата 17.5.2008, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



Код

preg_match_all
 находит все соответствия в запросе, те не совсем то что ты хочешь, попробуй сделать 


Код

$lines = file ('http://market.yandex.ru/model.xml?hid=90639&modelid=951099');
// Осуществим проход массива и выведем номера строк и их содержимое в виде html-кода.
foreach ($lines as $line_num => $line)
{
    if(preg_match('/Средняя цена:(.*?)р./',$line,$match)){
      print_r($match);
 }
}


для каждой страницы отдельно и посмотреть все ли работают, потом попробуй обойти все ссылки циклом,  
только не сразу все 8 , а сначала 2 если откроет увеличивай на одну и ищи ошибку


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
mustafallah
Дата 22.5.2008, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Оно то вы водит, но вот в таком виде, после выхода из цикла значение $match теряется
Код

Array
(
    [0] => Средняя цена: <br><span style="font-size:200%">31 649 р.
    [1] =>  <br><span style="font-size:200%">31 649 
)
Array
(
    [0] => Средняя цена: <br><span style="font-size:200%">10 123 р.
    [1] =>  <br><span style="font-size:200%">10 123 
)
Array
(
    [0] => Средняя цена: <br><span style="font-size:200%">752 р.
    [1] =>  <br><span style="font-size:200%">752 
)
Array
(
    [0] => Средняя цена: <br><span style="font-size:200%">7 768 р.
    [1] =>  <br><span style="font-size:200%">7 768 
)
Array
(
    [0] => Средняя цена: <br><span style="font-size:200%">5 012 р.
    [1] =>  <br><span style="font-size:200%">5 012 
)
Array
(
    [0] => Средняя цена: <br><span style="font-size:200%">2 477 р.
    [1] =>  <br><span style="font-size:200%">2 477 
)
Array
(
    [0] => Средняя цена: <br><span style="font-size:200%">4 377 р.
    [1] =>  <br><span style="font-size:200%">4 377 
)


Добавлено через 6 минут и 24 секунды
вот отсюда мне нужно удалить "<br><span style="font-size:200%">":
Код

<?
// Создаем массив ссылок
$links[0] = 'http://market.yandex.ru/model.xml?hid=91019&modelid=1584121';       // процессор
$links[1] = 'http://market.yandex.ru/model.xml?hid=91031&modelid=989100';         // видеокарта
$links[2] = 'http://market.yandex.ru/model.xml?hid=91035&modelid=1578835';         // DVD RW
$links[3] = 'http://market.yandex.ru/model.xml?hid=91020&modelid=1577953';         // материнская плата
$links[4] = 'http://market.yandex.ru/model.xml?hid=818965&modelid=1001612';         // кулер для процессора
$links[5] = 'http://market.yandex.ru/model.xml?hid=91028&modelid=1600890';         // корпус
$links[6] = 'http://market.yandex.ru/model.xml?hid=91033&modelid=1035963';         // HDD
$links[7] = 'http://market.yandex.ru/model.xml?hid=191211&modelid=1598284';      // оперативная память
// Определяем счетчик
$i=0;
// Создаем условие
while ($i <=7) {
$lines = file ($links[$i]);
// Осуществим проход массива и выведем номера строк и их содержимое в виде html-кода.
    foreach ($lines as $line)
    {
        if(preg_match('/Средняя цена:(.*?)р./',$line,$match)){
        echo htmlspecialchars($match[1]);
            }
    }
    $i++;
}
?>

PM MAIL   Вверх
americanets
Дата 22.5.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



Куда теряется? оно в цикле есть, там и должно быть

удалять тега так 
Код

$Text = strip_tags($Html);



--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
mustafallah
Дата 22.5.2008, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



воо =)
спасибо!

Добавлено через 10 минут и 1 секунду
А можно ли как-то в цикле сохранить элементы массива в переменную, чтобы ими можно было манипулировать вне цикла?
PM MAIL   Вверх
americanets
Дата 22.5.2008, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



Можно

Код

$Data = array();



В цикле

Код

$Data[$i] = 'sdfsdf';





--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
mustafallah
Дата 22.5.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



=) еще раз огромное спасибо!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0550 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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