Апр
18
2012

Парсер bash.org.ru/bash.im  

Обновлено 21 Апреля 2012

| Печать |

Решил забабахать свой цитатник интернета, ну и собственно для этого написал парсер с башорга:

<?php
set_time_limit(0);

//Подключаемся к базе
define ("HOST", "localhost");
define ("DATABASE", "dbase");
define ("MYSQL_USER", "dbuser");
define ("MYSQL_PASS", "******");
mysql_connect(HOST, MYSQL_USER, MYSQL_PASS);
mysql_query("set names utf8");
mysql_select_db(DATABASE);

//Сливаем с 1 по 500 страницы
$text=file_get_contents('http://bash.im/');
for ($i = 1; $i <= 500; $i++)
{

//Получаем страницу
$text=file_get_contents('http://bash.im/index/'.$i);
$text=explode('<span>',$text);
$count=false;

//Вырезаем из страницы цитаты
foreach($text as $text)
{
if($count==false){$count=true;continue;}
if($text==NULL){break;}

//Вырезаем номер цитаты
preg_match('|class="id">#(.*?)</a>|is',$text,$id);
$id=substr($id[0],12,-4);

//Вырезаем саму цитату
preg_match('|<div>(.*?)</div>|is',$text,$quote);

//Переводим текст в UTF-8
$quote=substr($quote[0],18,-6);$quote=iconv("windows-1251","UTF-8",$quote);

//Вставляем в таблицу
if($quote!=NULL){mysql_query("INSERT INTO `quotes` (`id`,`date`,`quote`,`approved`) VALUES ('{$id}',NOW(),'{$quote}','1')");}
}
sleep(10);
}
?>

Вот собственно база и готова.

А вот что получилось в итоге:http://jq.mainfrm.ru/