X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

5 страниц V  < 1 2 3 4 5 >
Открыть тему
Тема закрыта
> Парсер Lenta.Ru, основанный на регулярных выражениях.
Rustamus
Rustamus
сообщение 3.8.2010, 10:33; Ответить: Rustamus
Сообщение #12


Не подскажете, как сделать так, чтобы сохранял все новости в 1 хтмл файл.
и заголовки объявлений обрамлял тегом <h2>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cttr
Cttr
сообщение 4.8.2010, 12:48; Ответить: Cttr
Сообщение #13


$file = fopen ('text_' .$a. '.txt', 'a');

Создает файл в той же же файловом пространстве где и лежит скрипт. Если не стоит нужный cmod ( права, если это хостинг ) то это уже не ко мне притензии. Могу помочь если нужно 550-30пять-20пять

(Rustamus @ 3.8.2010, 9:33) *
Не подскажете, как сделать так, чтобы сохранял все новости в 1 хтмл файл.
и заголовки объявлений обрамлял тегом <h2>

Титлы вообще то в h1 загоняют, но каприз есть каприз.

<?php

    ini_set ('max_execution_time', 0);
    
    if (! $_POST) {
    
        echo '<form method="post">URL: <input type="text" name="url" style="width: 200px"> <input type="submit" values="парсить"></form>';
        
    } else {
    
        $vip = file_get_contents ($_POST['url']);
        $n = preg_match_all ('!<span class=title><a href=(.*)>.*</a></span></p>!i', $vip, $result);
        
        if ($n)    {
            for($a=0; $a < $n; $a++) {
                $page = file_get_contents("http://lenta.ru".$result[1][$a]);
                $page = preg_replace ("!<a.*>!isU", ' ', $page);
                $page = str_replace ('</a>', ' ', $page);
                $regex = preg_match_all('!<H2>(.*)</H2>.*</TABLE>(.*)<P class=links>!isU', $page, $itog, PREG_SET_ORDER);
                
                if ($regex) {                    
                    $html .= '<h2>' . $itog[0][1] . "</h2>\n";
                    $html .= str_replace ('<p>', '', $itog[0][2]) . "\n";
                }

            }
            
            // php5
            file_put_contents (date ('H-i') . '.html', $html);
        }
        

    }

?>


Создает файл формата ЧАСЫ-МИНУТЫ.html в той же папке где лежит скрипт.

И еще одна поправка, столкнулся что в ленте.ру некоторые новости проскакивают не с <a href, а с <A href, по этому просто добавляем к маске регистронезависимый поиск ( в скрипте выше он указан ), в сообщении #5 следует

$page = preg_replace ("!<a.*>!sU", ' ', $page);

заменить на

$page = preg_replace ("!<a.*>!isU", ' ', $page);

(править сообщение старое просто уже не могу )

Кто пытается запускать скрипт на хостинге, выставляйте для папок права cmod 777. Спасибо за внимание

Сообщение отредактировал Cttr - 4.8.2010, 12:49


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Rustamus
Rustamus
сообщение 4.8.2010, 16:02; Ответить: Rustamus
Сообщение #14


Спасибо большое
Заголовок в теги h2 нужно для программ типа Зеброида - он разделяет текст на статьи именно по этому тегу
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
shuba
shuba
сообщение 5.8.2010, 2:02; Ответить: shuba
Сообщение #15


отличная штуковина для сателитов)

Сообщение отредактировал shuba - 5.8.2010, 2:03


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cttr
Cttr
сообщение 5.8.2010, 2:03; Ответить: Cttr
Сообщение #16


(shuba @ 5.8.2010, 1:02) *
а на локалхосте...

На локалхосте и так абсолютные права на запись smile.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
shuba
shuba
сообщение 5.8.2010, 2:05; Ответить: shuba
Сообщение #17


да, забыл еще спросить...ссылку какого вида надо?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cttr
Cttr
сообщение 5.8.2010, 2:08; Ответить: Cttr
Сообщение #18


shuba, http://lenta.ru/news/2010/07/30/
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
shuba
shuba
сообщение 16.8.2010, 19:38; Ответить: shuba
Сообщение #19


обновите первый пост полностью рабочим скриптом пожалуйста.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DFX
DFX
сообщение 29.8.2010, 10:48; Ответить: DFX
Сообщение #20


А вот как сделать что б в названии TXT файла еще и дата новости стояла?
text_0_10.08.2010.txt примерно так.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
14zy
14zy
сообщение 3.9.2010, 3:32; Ответить: 14zy
Сообщение #21


Спасибо, очень полезный скрипт, только у меня возник такой вопрос - а зачем в тексте новости режутся ссылки? Там же в каждой статье максимум 1-2 ссылки. Или я чего-то не понимаю?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
5 страниц V  < 1 2 3 4 5 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыA-Parser 1.1 - продвинутый парсер ПС, кейвордов, контента, показателей, 70+ парсеров.
354 Forbidden 279442 22.4.2024, 16:05
автор: AParser_Support
Открытая тема (нет новых ответов) Бесплатный парсер бот в Телеграм - [Parser Pro]
5 Parser_Pro 3353 27.1.2024, 16:12
автор: Parser_Pro
Открытая тема (нет новых ответов) WebArchiveMaster - парсер Вебархива
Добыча контента из ВебАрхива
16 footashes 12317 23.11.2022, 16:36
автор: kuz999
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлы⚡ AvitoSmart - быстрый парсер новых объявлений на Авито на запросах
Представляю парсер для [b]Zennoposter[/b]'a или [b]Zennobox[/b]
0 akcium 1270 19.11.2022, 13:05
автор: akcium
Открытая тема (нет новых ответов) Tubes Clip One - парсер тубов
21 xoopw 20846 16.4.2021, 17:30
автор: xoopw


 



RSS Текстовая версия Сейчас: 24.4.2024, 12:42
Дизайн