- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
1. Тег заменится ничем.
2. Всегда задействуются все потоки. Если все сайты спарсены, но остаются несколько долгоработающих потоков, то вы можете остановить их через "STOP ALL" или "ABORT".
3. Могу сделать. Вы так сайт указываете: sitename.ru*decor/*furniture/ ?
2. Всегда задействуются все потоки. Если все сайты спарсены, но остаются несколько долгоработающих потоков, то вы можете остановить их через "STOP ALL" или "ABORT".
3. Могу сделать. Вы так сайт указываете: sitename.ru*decor/*furniture/ ?
1. Не понял о чем вы, еще раз спрашиваю, если мой шаблон
[ARTICLE_TITLE] – заголовок страницы.
[ARTICLE_H] – первый заголовок H.
[ARTICLE_BODY] – сама статья.
Бывает, что на сайте только TITLE, статья сохранится только с татйлом? Или пропустится до статьи где будут условия шаблона соблюдены (заголовок, H, сама статья)?
2. Извиняюсь, тупанул, с потоками нет проблем
3. Я паршу все с домена, т.е просто указываю домен
А мне интересно, потом это контент, что напарсили, автоматом заливать на WP Допустим можно?
Если текста статьи нет, то ничего в файл не сохранится. Но я могу сделать, чтобы сохранялись все.
В таком случае раскладывать статьи по тематике не получится.
Для этого есть специальные программы, например Зеброид, Цербер.
Можно ли считать версию 2.0.6 финальным релизом?
а парсить тексты по списку страниц будет возможнность?
2.0.6 актуальная версия. Будут обновления, пишите пожелания.
Да, завтра сделаю обновление.
Ещё сделаю, чтобы программа заходила в robots.txt и не парсила страницы, которые закрыты от индексации, чтобы меньше мусора было. Кто-то просил уже давно об этом.
Сделал обновление 2.0.7.
Новое в настройках:
*parsemainpage=0 - сохранять ли контент с главной (входной) страницы
*donotsaveurls=0 - не сохранять url-ы
*savetoonefile=0 - сохранять все статьи в один файл
*allowemptyarticles=0 - сохранять статьи с околонулевой длиной
*checkrobotsfile=0 - не парсить страницы, которые закрыты от индексации в robots.txt
1 - да (вкл), 0 - нет (выкл).
1. Сделал возможность парсить статьи по списку страниц. В settings.txt указать:
*pagenestinglimit=0
*parsemainpage=1
*donotsaveurls=1
pagenestinglimit задаётся равным 0, чтобы парсилась только входная (первая) страница.
parsemainpage включает сохранение контента с входной страницы.
donotsaveurls отключает сохранение урлов в папку urls. В таком режиме они не нужны.
В sites.txt просто указываем список урлов.
2. Чтобы программа проверяла robots.txt и не парсила страницы, которые закрыты от индексации, нужно указать *checkrobotsfile=1
3. Чтобы отключить сохранение урлов: *donotsaveurls=1
4. Сохранение всех статей в один файл: *savetoonefile=1
5. Сохранение статьи даже при нулевой длине: *allowemptyarticles=1
Это нужно, например, если вы хотите спарсить только заголовки страниц, но самих статей на странице программа не находит (если сайт не статейник, а, например, интернет-магазин). Раньше программа не сохраняла файлы, если длина статьи была меньше 70 символов.
6. Запуск с командной строки: передайте программе через точку с запятой параметры: Threads(кол-во потоков);Link limit(ограничение обхода ссылок);Do not update thread list(не обновлять список потоков)
Пример: 5;999999;0
7. Исправлена ошибка со слешами в урле при сохранении вне папок.
Скачивать обновление по ссылке, которую я давал при покупке. Замените старый файл MassArticleParser.exe новым и добавьте в settings.txt новые настройки (необязательно):
*parsemainpage=0
*donotsaveurls=0
*savetoonefile=0
*allowemptyarticles=0
*checkrobotsfile=0
Сделал обновление 2.0.8.
1. Исправил ошибку с режимом images (макросы не всегда правильно заменялись): *mode=images{<img src="[SRC]" alt="[ALT]">}
2. Встроил в программу свой интерпретатор скрипта из JakoDorgen-а. Это даёт возможность обработки статей перед сохранением. Можно, например, удалять какой-то мусор, вставлять в статью свои ссылки, добавлять кеи и т.д.
Скрипт, который исполняется для каждого потока парсинга в файле thread_events.txt. Общий скрипт в файле events.txt.
thread_events.txt
Перед тем, как сохранить статью, программа выполняет функцию on_Save. Сама статья находится в переменной $output. Так, например, можно перевести весть текст в верхний регистр:
function on_Save(){
$output=strtoupper($output);
}
Функция on_Start выполняется перед началом парсинга сайта.
Функция on_Complete выполняется по завершению парсинга сайта (error=0, если ошибок нет, и error=1, если есть, или в случае остановки парсинга пользователем).
Функция on_Error выполняется при возникновении ошибки в работе скрипта.
Готовые переменные:
$app_path - путь к парсеру
$article_dir - папка, в которую сохраняются статьи
$image_dir - папка, в которую сохраняются файлы изображений
$site_url - урл сайта, который парсится
$page_number - номер страницы, которая парсится
$page_count - кол-во найденных страниц сайта (меняется при нахождении новых)
$page_url - урл страницы, которая парсится
$page_data - html-код страницы, которая парсится
$site_number - номер сайта, который парсится
$thread_number - номер потока в котором сайт парсится
Есть две специальные функции:
1. stopthread(error); - останавливает парсинг. stopthread(1); - остановка с ошибкой (статус парсинга будет Error), stopthread(0); - остановка без ошибки (как будто парсинг завершился успешно сам).
2. reparsepage(); - указывает, что страницу нужно спарсить ещё раз. Т.е. дальше будет парситься не следующая страница, а эта же.
events.txt
При запуске программы выполняется функция on_Programm_Start.
При нажатии кнопки "START" выполняется функция on_Parsing_Start.
При остановке парсинга кнопкой "STOP ALL" выполняется функция on_Parsing_Stop.
При завершении парсинга всех сайтов выполняется функция on_Parsing_Complete. paused=1, если была нажата "PAUSE", и paused=0, если нет.
Функция on_Error выполняется при возникновении ошибки в работе скрипта.
Готовые переменные:
$app_path - путь к парсеру
Чтобы включить скриптинг, нужно в settings.txt установить: *scripting=1
Список всех функций - http://jako.tech/docs/MassArticleParser-Script-Functions.txt
Замените старый файл MassArticleParser.exe новым и скопируйте два новых файла: thread_events.txt и events.txt.
Есть вопросы по скриптингу? Пишите мне на JakoKruzo@mail.ru.
Ещё буду подробнее писать про скрипт.
Одной из частой задач является парсинг тегов всех изображений с сайта.
Для этого в настройках есть возможность задать такой режим: *mode=images{<img src="[SRC]" alt="[ALT]">} , где <img src="[SRC]" alt="[ALT]"> - вид , в котором сохранять теги. Чтобы сохранять теги в том виде, в котором они есть на сайте нужно указать просто: *mode=images
Но что делать, если парсер не находит статей? Например, статьи состоят из одних картинок.
Тогда теги изображений можно спарсить скриптом из всего html-кода страницы.
Для этого вставим в конец файла thread_events.txt эту функцию:
function GetAllImages(s){
r='';
i=stripos(s,'<img');
while(i>0){
i2=strpos(s,'>',i);
if(i2==0){break;}
t=substr(s,i,(i2+1)-i);
r=r+t+"\r\n";
i=stripos(s,'<img',i+1);
}
return(r);
}
А после строки function on_Save(){ впишем это: $output=GetAllImages($page_data);
Таким образом картинки будут доставаться из переменной $page_data, которая содержит весь html-код страницы.
В настройках надо указать: *allowemptyarticles=1 - это разрешит обрабатывать скрипту все страницы, в независимости от того, есть на них статьи или нет.
Так будут сохраняться абсолютно все картинки, которые есть на странице. Чтобы брались только нужные картинки, надо изменить функцию GetAllImages(), например, указав часть урла картинок, которые нужно оставить:
function GetAllImages(s){
r='';
i=stripos(s,'<img');
while(i>0){
i2=strpos(s,'>',i);
if(i2==0){break;}
t=substr(s,i,(i2+1)-i);
if(strpos(t,'/fullsizeimages/')>0){r=r+t+"\r\n";}
i=stripos(s,'<img',i+1);
}
return(r);
}
Скрипт очень простой и, надеюсь, понятен большинству. Но если что-то непонятно, пишите мне на JakoKruzo@mail.ru или спрашивайте здесь.