Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
1

В чем ошибка (парсер)

07.04.2015, 23:04. Показов 993. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ пытаюсь сделать парсер самый элементарный вообщем тут я пытаюсь спарсить название google com
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
    <title>parser</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
$parser = file_get_contents("http://google.com");
preg_match_all("<title></title>", $parser, $matches);
print_r($matches);
?>
</body>
</html>
Я новичок в php плиз помогите.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2015, 23:04
Ответы с готовыми решениями:

Пишу парсер. не могу понять в чем дело
Здравствуйте! Необходима помощь. Пишу парсер на PHP, весь код могу вывести у себя кроме некоторых...

Парсер по курсу Могелашвили: в чем ошибка?
Делал по этому курсу 6eB4e9ypcwU В классе TextSearcher, в строке 57 ругается, что &quot; startIndex...

Парсер на сервере работает намного медленнее чем на Денвере!
Здравствуйте! Сделал свой первый парсер, но на сервере он работает намного медленнее чем на...

Парсер картинки (Ошибка)
Привет всем. Подскажите почему не парсит ? , выводит ошибку. Помогите пжл. Буду благодарен. ...

3
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.04.2015, 23:10 2
Лучший ответ Сообщение было отмечено outZoNe как решение

Решение

Цитата Сообщение от outZoNe Посмотреть сообщение
Я новичок в php плиз помогите.
Выражение должно быть хотябы таким:
Код
"/<title>(.*)<\/title>/"
А вообще почитайте про регулярные выражения, прежде чем их составлять...:http://php.net/manual/ru/refer... syntax.php
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
08.04.2015, 20:45  [ТС] 3
Все спасибо тему можно считать закрытой все что надо я понял)

Добавлено через 21 час 18 минут
pav1uxa, Простите а можно еще поинтересоваться как парсить div по его классу а не id
вот тут я парсю по id
PHP
1
2
3
4
5
6
7
<?php
header("Content-type: text/html; charset=UTF-8");
include 'simple_html_dom.php';
$html = file_get_html('http://www.site.com/');
foreach($html->find('div[id=name_id]') as $element) 
echo $element->href .$element->innertext.'<br>';
?>

а если сделать так же только по class не работает

PHP
1
2
3
4
5
6
7
<?php
header("Content-type: text/html; charset=UTF-8");
include 'simple_html_dom.php';
$html = file_get_html('http://www.site.com/');
foreach($html->find('div[class=name_class]') as $element) 
echo $element->href .$element->innertext.'<br>';
?>
Добавлено через 1 минуту
Для всего этого я решил использовать библиотеку "PHP Simple HTML DOM Parser"
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
09.04.2015, 20:28 4
Лучший ответ Сообщение было отмечено outZoNe как решение

Решение

Цитата Сообщение от outZoNe Посмотреть сообщение
Для всего этого я решил использовать библиотеку "PHP Simple HTML DOM Parser"
Могу лишь предложить использовать встроенный в PHP класс - DOMDocument. С его помощью это будет выглядеть так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$url = "http://mail.ru/"; // имя сайта
$class = "news__list__item"; // имя класса
$content = file_get_contents($url); // загружаем страницу
 
libxml_use_internal_errors(TRUE); // отключаем вывод ошибок из-за неправильного html кода
$html = new DOMDocument(); // создаем объект класса DOMDocument
$html->loadHTML($content); // парсим html код
$divs = $html->getElementsByTagName('div'); // находим все теги <div>
foreach ($divs as $div) // перебираем их
    if ($div->hasAttributes() && $div->attributes->getNamedItem("class") !== NULL) // выбираем только те у которых есть атрибут с названием class
        if ($div->attributes->getNamedItem("class")->nodeValue === $class) // выбираем только те у которых нужный нам класс
            echo "[".$div->nodeValue."]<br>\n"; // выводим текст этого дива в квадратных скобках и перенос строки
Результат:
Код
[Президент внес в Думу проект амнистии к 70-летию Победы]
[Аналитики рассказали, что делать с валютой после взлета рубля]
[Порошенко: Сталин развязал Вторую мировую войну вместе с Гитлером]
[Санкции ударили по России меньше, чем ожидалось]
[СпортУЕФА впервые в истории постановил переиграть концовку матча]
// и другие новости с сайта маил.ру
1
09.04.2015, 20:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2015, 20:28
Помогаю со студенческими работами здесь

Ошибка в коде, парсер
Объясните пожалуйста, где ошибка. Вот собственно ошибка &quot;Parse error: syntax error, unexpected ';'...

503 ошибка гугл парсер
такая ситуация.пару минут назад все работало.сейчас 503 ошибка.переподключил с другого...

Парсер JSON (возникает ошибка)
Добрый день, делаю парсер постов из вордпресс в приложение ios. Использую JSON. При компиляции...

Парсер файла. Ошибка System.ArgumentOutOfRangeException
Не понимаю, как исправить ошибку. Подскажите, пожалуйста Необработанное исключение типа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru