|
|
|
| Помогите разобраться в чем причина глюка.
Есть скрипт парсер, он парсит данные с определенной страницы и загоняет их в базу данных. Всего парсится 7 страниц, практически идентичных по контенту. А проблема в следующем, первые 5 страниц загоняются в БД без вопросов, а вот последние две никак! Хотя скрипты идентичные, за исключением адреса страницы откуда берется информация и номером ячейки таблицы куда текст загоняется.
Вот дамп БД в которую все загоняется:
CREATE TABLE `tv` (
`id` int(10) unsigned NOT NULL auto_increment,
`info` text,
`data` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=7 ;
--
-- Дамп данных таблицы `tv`
--
INSERT INTO `tv` VALUES ('1', '1', '1');
INSERT INTO `tv` VALUES ('2', '1', '1');
INSERT INTO `tv` VALUES ('3', '1', '1');
INSERT INTO `tv` VALUES ('4', '1', '1');
INSERT INTO `tv` VALUES ('5', '1', '1');
INSERT INTO `tv` VALUES ('6', '1', '1');
INSERT INTO `tv` VALUES ('7', '1', '1');
|
Вот код парсера 1-й страницы:
(работает без вопросов)
<?
session_start();
require_once('ms-connect.php');
$dat = date("d.m.Y_G:i");
$link = "http://www.tut.by/tvset/1.html";
$fd = fopen($link, "r");
$text="";
if (!$fd) echo "Запрашиваемая страница не найдена";
else { while (!feof ($fd)) { $text .= fgets($fd, 4096);} }
fclose ($fd);
$matchesArr = array();
preg_match_all('|<a name="ont"></a>(.*)<t|sUS', $text, $matchesArr);
$string = strip_tags($matchesArr[1][0], '<br><h3>');
mysql_query("UPDATE tv SET info='".$string."', data='".$dat."' WHERE id='1'");
echo "Данные изменены!<br>А может нет :-)";
?>
|
Вот код парсера 6-й страницы:
(данные парсятся но в БД загнать невозможно)
<?
session_start();
require_once('ms-connect.php');
$dat = date("d.m.Y_G:i");
$link = "http://www.tut.by/tvset/6.html";
$fd = fopen($link, "r");
$text="";
if (!$fd) echo "Запрашиваемая страница не найдена";
else { while (!feof ($fd)) { $text .= fgets($fd, 4096);} }
fclose ($fd);
$matchesArr = array();
preg_match_all('|<a name="ont"></a>(.*)<t|sUS', $text, $matchesArr);
$string = strip_tags($matchesArr[1][0], '<br><h3>');
mysql_query("UPDATE tv SET info='".$string."', data='".$dat."' WHERE id='6'");
echo "Данные изменены!<br>А может нет :-)";
?>
|
Обратите внимание страницы парсеров практически идентичные, за исключением номера страницы с которой берется текст и номером ячейки в БД в которую текст загоняется.
Кто может подсказать в чем проблема? | |
|
|
|
|
|
|
|
для: Legenda
(07.10.2008 в 16:26)
| | я бы поменял местами 6.html и 1.html сначала для чистоты эксперемента
- возможно стр. сохранены в разной кодировке | |
|
|
|
|
|
|
|
для: oppo
(07.10.2008 в 17:34)
| | Менял местами, в результате страница номер 1 копируется в любую ячейку, а вот страница номер 6 не копируется не в одну ячейку БД. При этом на выдаче через echo все нормально на любой странице! В чем может быть загвоздка - просто уже не представляю! Файлы практически идентичные, контент сканируемых страниц тоже... Откровенно говоря я в ступоре! Кодировка страниц - одинаковая. | |
|
|
|