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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить запись в бд 
:(
    Опции темы
Silent_s
Дата 23.10.2008, 21:21 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 2.12.2007
Где: Москва

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



К примеру есть у нас сайт с которого парсером мы берем инфу и записываем в бд, сайт постоянно обновляется и как сделать так что бы он перед записью в бд он проверял есть ли такая запись или нет, если есть такая запись то прекращать парсинг.
--------------------
Мой блог
PM MAIL   Вверх
awers
Дата 23.10.2008, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Код

select * from 
 ?
PM MAIL WWW ICQ Skype   Вверх
Silent_s
Дата 23.10.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 2.12.2007
Где: Москва

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



по подробней плиз
--------------------
Мой блог
PM MAIL   Вверх
awers
Дата 23.10.2008, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



 smile  телепатические способности видения чужих БД отключены за неуплату
PM MAIL WWW ICQ Skype   Вверх
Andres
Дата 23.10.2008, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А че тут можно подробней. Телепатов реально нет. Но может так понятней будет.
Код

select * from table where text='текст из парсера'

PM MAIL   Вверх
skyboy
Дата 23.10.2008, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Silent_s, твоя проблема в том, что ты не умеешь задавать вопрсы. вот, что такое "проверить запись в БД"? ничего не понятно. то ли тебя количество записей интересует, то ли наличие конкретного значения. а вот если поставить вопрос по-другому: "как проверить наличие определенных данных в БД, которые я же сам и записал?", то уже пойдут встречные наводящие вопросы: если ты сам записываешь данные и знаешь их структуру, то кто, кроме тебя, поможет тебе найти определенные данные? и что тебе мешает это сделать?

Добавлено через 56 секунд
может, договориться с владельцем сайта, чтоб данные отдавались непосредственно в XML с меткой последнего обновления?
PM MAIL   Вверх
Andres
Дата 23.10.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(skyboy @  23.10.2008,  22:45 Найти цитируемый пост)
может, договориться с владельцем сайта, чтоб данные отдавались непосредственно в XML с меткой последнего обновления? 
А может там еще и дата на странице которую парсит есть smile

PM MAIL   Вверх
Silent_s
Дата 23.10.2008, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 2.12.2007
Где: Москва

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



Да
skyboy, да ты прав я реально вопросы плохо умею задавать, но к счастью всегда находились такие люди как ты и помагали!=)

Andres, поговорив со знакомым кодером я тоже пришел к такому решению, но спасибо=)
Вроде все так просто удивляюсь почему сам не додумался... наверное моск автоматически отрубается ведь парсер написал осталась только эта фича чтобы ее на крон поставить и забыть.
Ну и в конце хотелось бы критики и по больше, можете и с матом=)
Буду рад любой критике вот это мой парсер
Код

set_time_limit(0);
for($s = 2;$s <= 10; $s++){
$site[$s] = $s;
$adres = file_get_contents('http://сайт_который_парсю.com/'.$site[$s]);
preg_match_all('|<h3><a.* href=(.*)>(.*)</a></h3>|U', $adres, $mathesname);
preg_match_all('/<p>(.*)<\/p>/',$adres,$mathesdesc);
preg_match_all('/\/images\/icons\/([0-9]+)\/([0-9]+\.jpg)/',$adres,$mathesimg);
preg_match_all('/price">(.*)<span class="cents">/',$adres,$mathesprise);
preg_match_all('/cents">(.*)<\/span>/',$adres,$cent);
preg_match_all('/<\/span><a.* href=(.*)>(.*)<\/a><\/div>/',$adres,$priselink);
preg_match_all('/category">(.*)<\/div>/',$adres,$mathescat);
$namearray = $mathesname[2];
$decsarray = $mathesdesc[1];
$id_cat = $mathesimg[1];
$id_icon = $mathesimg[2];
$prisearr = $mathesprise[1];
$prisecent = $cent[1];
$catarr = $mathescat[1];
$prlink = $priselink[1];
$date=date("Y-m-d h:i:s");
for($i=0,$ind=0;$i < count($namearray) && count($decsarray) && count($id_icon) && count($prisearr) && count($prisecent) && count($prlink) && count($catarr),$ind < 20;$i++,$ind++){
        $val[$ind]=$ind;
        $fh = fopen($id_icon[$i], 'w');
        $img = file_get_contents('http://сайт_который_парсю.com/images/icons/'.$id_cat[$i].'/'.$id_icon[$i]);
        $fw = fwrite($fh, $img);
        if ($prisearr[$i]){
        $prisearr[$i].='.';
        }
        mysql_query("INSERT INTO `wp_posts`
        (`post_date`,`post_author`,`post_title`,`post_content`,`post_parent`)
        VALUES ('".$date."',1,'".$namearray[$i]."','<img src=http://мой_сайт.ru/wp-content/uploads/2008/10/$id_icon[$i] hspace=10 align=left>$decsarray[$i]
        <strong> цена: $prisearr[$i] $prisecent[$i] <a href=$prlink[$i]>купить</a></strong>','".$val[$ind]."');");
        //тут условия типа
                     if (($catarr[$i])=='Photography'){
            mysql_query("INSERT INTO `wp_term_relationships`
            (`object_id`,`term_taxonomy_id`)
            VALUES ('".mysql_insert_id()."',14);");
            }
                // категорий куча и поэтому код не много обрезаю
        mysql_query("INSERT INTO `wp_term_relationships`
            (`object_id`,`term_taxonomy_id`)
            VALUES ('".mysql_insert_id()."',1);");
        
        
        mysql_query("INSERT INTO `wp_posts`
        (`post_date`,`post_author`,`post_title`,`post_parent`,`post_type`,`guid`,`post_mime_type`,`post_status`)
        VALUES ('".$date."',1,'".$id_icon[$i]."','".$val[$ind]."','attachment','http://мой_сайт.ru/wp-content/uploads/2008/10/$id_icon[$i]','image/jpeg','inherit');");
        
            fclose($fh);
            }
}

--------------------
Мой блог
PM MAIL   Вверх
awers
Дата 23.10.2008, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



ну если можно критику, да еще и с матом, то можно мат и не углубляться в критику

[мат за кадром....]
PM MAIL WWW ICQ Skype   Вверх
Silent_s
Дата 23.10.2008, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 2.12.2007
Где: Москва

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



Так ну и вкратце расскажу что я делаю, вначале делаю цикл где указываю с какой по какую страницу парсить далее на этой странице вытаскиваю данные которые мне нужны, название, описание, картинку, с ценой там особый случай, и кто внимательный заметил что все это дело запихиваю в бд вордпресса, первым запросом я вставляю про парсенные данные вторым указываю категорию тут я условия убрал так как много категорий, третьим запросом вставляю имя и адрес картинки, так уж у вп принято!

Добавлено через 2 минуты и 3 секунды
Я знаю что все ужасно=)
Мне до вас расти и расти!
Но я постоянно совершенствуюсь, стараюсь, правда!=)
--------------------
Мой блог
PM MAIL   Вверх
awers
Дата 23.10.2008, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Вообще все приходит со временем. Если тебя самого устраивает то как работает твое творение и тем более если оно работает - то все норм. Дальше практика и практика. Смысла тыкать во что то носом, а тем более перепроверять чужой код после рабочего дня над другими проектами - на горю желаением )
PM MAIL WWW ICQ Skype   Вверх
Silent_s
Дата 23.10.2008, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 2.12.2007
Где: Москва

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



ясно, ну может будет время все таки глянули бы, оч хотел бы услышать джедайскую критику и сказать где я допускаю глобальные ошибки, кстати, скрипт полностью рабочий единственная проблема во вложенности цикла когда я добавляю запись в бд сначала добавляется запись, потом картинка и в бд присваиваться им один парент ид и он только до 20 так как количество записей на одной странице 20 далее все идет сначала, а мне бы желательно продолжать до столько сколько страниц парсю, если ставлю больше то не работает, если кто дейсвительно желает помочь, то могу показать бд и сайты куда парсю и откуда.
--------------------
Мой блог
PM MAIL   Вверх
awers
Дата 23.10.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



ну если ты расчитываешь на чью либо помощь, то тебе неприменно надо показать структуру базы и адрес откуда тащишь ..
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.

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


 




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


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

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