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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2012, 12:29   #1
kosta-rika
Новичок
Джуниор
 
Регистрация: 25.03.2012
Сообщений: 2
По умолчанию Парсер яндекс весна

Помогите создать парсер который берет тексты с vesna.yandex.ru и отправляет на мыло. Такой парсер уже есть, но почему то на мыло приходит только какие-то крякозябры...

Последний раз редактировалось kosta-rika; 25.03.2012 в 13:04.
kosta-rika вне форума Ответить с цитированием
Старый 25.03.2012, 14:42   #2
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

смени кодировку:
- письма
- парсера
.....
PROFIT
Lesha вне форума Ответить с цитированием
Старый 25.03.2012, 14:51   #3
kosta-rika
Новичок
Джуниор
 
Регистрация: 25.03.2012
Сообщений: 2
По умолчанию

Где менять кодировку почты не нашел, пробывал, и mail, и яндекс, и рамблер, и гугл - одни иероглифы.
Менять кодировку парсера пробывал, но не получилось, видимо где-то что-то не так. Может вы попробуете, вот собственно и скрипт:
Цитата:
<?php
//parse.php
if(!file_exists('./tmp/'.$_GET['f']))
die('<h1>File '.$_GET['f'].' is not exists!</h1>');
set_time_limit(0);
//register_shutdown_function('fShutdo wn');
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
//define('MAGPIE_DIR', dirname(__FILE__).'/magpie/');
//define('MAGPIE_CACHE_ON', FALSE);
define('SCRIPTS', dirname(__FILE__).'/scripts/');
//require MAGPIE_DIR . 'rss_fetch.inc';
require SCRIPTS . 'gTranslate.php';
require SCRIPTS . 'yaParser.php';
require SCRIPTS . 'rssparse.php';
$data = file_get_contents('./tmp/'.$_GET['f']);
$data = unserialize($data);
$rssFeed = new lastRSS;
$rssFeed->cache_dir = '';
#echo '<pre>';
#print_r($data);
#echo '</pre><br><br>';
#die;
$mails_ = addBlog($data['mails']);
foreach($mails_ as $k => $mail)
{
$mail = trim($mail);
foreach($data['options'][$k] as $option)
switch(trim($option))
{
case 'rss':
foreach($data['feeds'] as $feed)
{
//$rss = fetch_rss($feed);
if(!$rss = $rssFeed->get($feed))
{
echo '<h4>error parse rss feed: '.$feed.'</h4>';
continue;
}
foreach($rss['items'] as $item)
{
//$item['title'] = iconv('WINDOWS-1251', 'UTF-8', $item['title']).'<br>';
//echo $item['title'];
//die;
if(mail($mail, iconv('WINDOWS-1251', 'UTF-8', strip_tags($item['title'])), iconv('WINDOWS-1251', 'UTF-8', '<br>'.strip_tags($item['description'])), "Content-type: text/html; charset=UTF-8\r\nFrom: vesna@gmail.com"))
echo '<h4>Successfully sent RSS feed to '.$mail.'</h4>';
else
echo '<h4>Error sending RSS feed to '.$mail.'</h4>';
flush();
sleep(600);
}
}
break;

/*case 'vesna':
$news = ya_gettext($data['yav_theme'], $data['count_request']);
if("" !== $data['translate'])
{
$news[0] = gTranslate($news[0], $data['translate']);
$news[1] = gTranslate($news[1], $data['translate']);
}
if(mail($mail, 'forPosting', '<h1>'.$news[0]."</h1>\n\n".$news[1], "Content-type: text/html; charset=windows-1251\r\nFrom: bugaga@test.com"))
echo '<h4>Successfully sent VESNA to '.$mail.'</h4>';
else
echo '<h4>Error sending VESNA to '.$mail.'</h4>';
break;
*/
case 'myText':
if(mail($mail, 'forPosting', iconv('WINDOWS-1251', 'UTF-8', $data['own_text']), "Content-type: text/html; charset=UTF-8\r\nFrom: maybe@micro.com"))
echo '<h4>Successfully sent TEXT to '.$mail.'</h4>';
else
echo '<h4>Error sending TEXT to '.$mail.'</h4>';
flush();
sleep(600);
break;
}
}

fShutdown();

function fShutdown()
{
unlink('tmp/'.$_GET['f']);
}

function addBlog($mails)
{
$pattern = '#^.*?\.(.*?)@.*?$#is';
$blogs = array();
$blogs = unserialize(file_get_contents('db.t xt'));
foreach($mails as $mail)
{
preg_match($pattern, $mail, $find);
if(!isset($blogs['http://'.$find[1].'.blogspot.com']))
$blogs['http://'.$find[1].'.blogspot.com'] = '';
}
file_put_contents('db.txt', serialize($blogs));
$mails_ = array();
$mails_ = file_get_contents('mails_db.txt');
$mails_ = unserialize($mails_);
foreach($mails as $mail)
if(!isset($mails_[trim($mail)]))
$mails_[trim($mail)] = '';

$mailsDb = serialize($mails_);
file_put_contents('mails_db.txt', $mailsDb);
return array_keys($mails_);
}
?>
kosta-rika вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Московские учебно-тренировочные сборы по информатике. Весна–2006 Площадь xpams Паскаль, Turbo Pascal, PascalABC.NET 5 04.10.2011 23:52
Яндекс жжет)) MyLastHit Свободное общение 28 02.05.2011 13:05
Отправка пинга на яндекс art-programs Работа с сетью в Delphi 2 17.02.2011 09:21
это Яндекс!!! Altera Свободное общение 35 21.10.2009 00:35