Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2014, 20:02   #1
hvs1987
 
Регистрация: 02.08.2011
Сообщений: 9
По умолчанию Не работает код парсера

Здравствуйте!

Прошу меня сильно не ругать, если не туда написал или похожая тема где-то существует.
Подскажите, пожалуйста, по такому вопросу:

Имею простейший код парсера, который записывает данные в БД. Проблема в том, что данный код и ошибок никаких не выдает, и записывать не записывает.

Вот код:

<?php
$c = mysql_connect('server' , 'login' , 'password');
if (!$c) die('Не могу подключиться к серверу базы данных');
mysql_select_db('baze') or die('Не могу выбрать базу данных');
//Подключаем фаил с реализацией парсера. Этот файл находиться в архиве на офсайте
// example of how to use basic selector to retrieve HTML contents
include('simple_html_dom.php');
// get DOM from URL or file
$html = file_get_html('http://сайт.ru/');
// забираем названия
foreach($html->find('h1.single-title') as $e) {
$res = mysql_query('INSERT INTO index (`title`) VALUES("' . mysql_real_escape_string($e->plaintext) . '")');
if (!$res) die(mysql_error());
};
//забираем тексты
foreach($html->find('div.resize') as $e) {
$res = mysql_query('INSERT INTO index (`text`) VALUES("' . mysql_real_escape_string($e->plaintext) . '")');
if (!$res) die(mysql_error());
}
mysql_close($c);
unset($html);
?>

Врать, что писал сам - не буду. Нашел на просторах инета, так как только начинаю познавать направление парсинга. Буду признателен, если кто поправит это код и расскажет, что здесь к чему.
hvs1987 вне форума Ответить с цитированием
Старый 18.03.2014, 00:43   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

PHP код:
foreach($html->find('h1.single-title') as $e) {
$res mysql_query('INSERT INTO index (`title`) VALUES("' mysql_real_escape_string($e->plaintext) . '")');
if (!
$res) die(mysql_error());

заменить на
PHP код:
foreach($html->find('h1.single-title') as $e) {
var_dump($e);

Есть что-нибудь? Если нет - метод $html->find ничего не забрал, соответственно - ничего не вставил.
Если есть - что? Объект, массив? Какой? Напиши сюда то, что выдаст var_dump
ATL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по поводу парсера Haheedens Помощь студентам 0 04.08.2012 14:08
Написание парсера Raskrutchik Фриланс 5 23.04.2012 14:18
Доработка парсера. Готов на 80% gemiroquai Фриланс 0 02.04.2012 11:12
Ошибка парсера asnikifor PHP 1 21.09.2011 14:21
Функции парсера на mediawiki Bingam Vici WordPress и другие CMS 2 05.06.2011 16:06