developer
BestMaster, # BestMaster (28.05.2019 / 22:32)
developer, Pasta yozibdi namunani
johncms kutubxonasidagi maqolalarni bazaga yozib oladigan parser tuzish kerak
51 soniyadan keyin yozdi:
o'zim uni qanday yasash boyicha miyada algoritmi borku amalga qollay olmayapman
4 daqiqa 45 soniyadan keyin yozdi:
Kod · PHP171 qator
Запрос в MySQL-базу на создание таблицы для цитат



CREATE TABLE IF NOT EXISTS `bash` (



  `id` int(11) NOT NULL AUTO_INCREMENT,



  `quote_id` int(11) NOT NULL,



  `quote_text` mediumtext NOT NULL,



  PRIMARY KEY (`id`)



) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;











PHP-код парсинга



<?php



//Отключаем лимит ожидания и объявляем переменные



set_time_limit(0);



$content=NULL;$num_pages=NULL;



//Подключение к базе



//Подключаемся к базе данных



define ("HOST", "localhost");



define ("DATABASE", "ваша база данных");



define ("MYSQL_USER", "ваш юзер");



define ("MYSQL_PASS", "ваш пароль");



mysql_connect(HOST, MYSQL_USER, MYSQL_PASS);mysql_query("set names utf8");mysql_select_db(DATABASE);



//Узнаём кол-во страниц



$content=file_get_contents('http://bash.im/');



preg_match('|max="(.*?)"|is',$content,$num_pages);



//Парсим каждую страницу



for ($i=1; $i <= $num_pages[1]; $i++){$i2=false;



//Грузим страницы, вырезаем цитаты



$content=file_get_contents('http://bash.im/index/'.$i);



$quotes=explode('<span class="date">',$content);



foreach($quotes as $quote){



if($i2==false){$i2=true;continue;}



//Номер цитаты



preg_match('|class="id">#(.*?)</a>|is',$quote,$quote_id);



//Текст цитаты



preg_match('|<div class="text">(.*?)</div>|is',$quote,$quote_text);



//Конвертация текста в UTF-8 и экранирование символов



$quote_text=strip_tags(addslashes(htmlspecialchars(trim(iconv("windows-1251","UTF-8",$quote_text[1])))));



//Вписываем в базу



if($quote_text!=NULL){mysql_query("INSERT INTO `bash`(`id`,`quote_id`,`quote_text`) VALUES (NULL,'{$quote_id[1]}','{$quote_text}')");}



}



//От перенагрузки



sleep(2);



}

?>


shu kodni johncmsga moslash kerak
12 soat 14 daqiqa 16 soniyadan keyin yozdi:
sozni har hil belgilardan qanday tozalaydi qoshtirnoqlani orniga galati belgilar chiqib qolyapti