MassArticleParser - массовый парсинг статей. Один парсер для всех сайтов.

JakoKruzo
На сайте с 04.06.2008
Offline
158
#61

Как сделать, чтобы из статьи удалялись имена сайтов (те, которые не в тегах).

Например, есть текст: На сайте site.ru вы можете узнать о разведении гусей. Надо удалить site.ru и получить: На сайте вы можете узнать о разведении гусей. А также удалить вертикальную черту, минус, тире и короткое тире перед и после имени сайта, которые часто используют в тайтле.

Вот функция, которая делает это - http://jako.tech/functions/RemSiteNames.txt

Добавьте её в thread_events.txt и вызывайте в событии сохранения статьи:

function on_Save(){
$output=RemSiteNames($output);
}

JakoKruzo
На сайте с 04.06.2008
Offline
158
#62

Заметил, что некоторые сайты c https не парсятся. Оказалось, что надо использовать протокол безопасности Tls1.2. Для этого в events.txt после строки function on_Programm_Start(){ вставьте: setsecurityprotocoltype('tls12');

Вот так:

function on_Programm_Start(){
setsecurityprotocoltype('tls12');
}

Обязательно все сделайте это. И в settings.txt установите *scripting=1 .

JakoKruzo
На сайте с 04.06.2008
Offline
158
#63

Довольно частый вопрос: Как сделать, чтобы статьи сохранялись в один файл и в одну строку?

В settings.txt ставим настройки:

*savetoonefile=1
*scripting=1

Удаление переносов делаем через скрипт в thread_events.txt. Вставим в событие сохранения статьи код, удаляющий все переносы:

function on_Save(){
$output=str_replace("\r","",$output); //удаляем возврат каретки
$output=str_replace("\n","",$output); //удаляем перевод строки
$output=$output+"\r\n"; //добавляем перевод в конец строки
}

В template.txt делаем шаблон:

[ARTICLE_KEY];Бла-бла-бла;[ARTICLE_H];[ARTICLE_BODY]

В одну строку, без переноса строки в конце.

На выходе получаем файл мультикеев, который можно заряжать в дорген. В качестве разделителя частей строки лучше использовать не точку с запятой, а какой-нибудь другой символ, который обычно не используется в статьях.

***

C 11 по 25 ноября программу можно приобрести за 1700 рублей (скидка 32%)!

Для покупки пишите мне на jakokruzo@mail.ru.
Pegistrator
На сайте с 23.01.2007
Offline
161
#64

Как там софт жив еще?)

Качественное размещение статей на трастовых площадках под ключ ( /ru/forum/comment/16221825 ) Размещение ссылок и статей ( http://allseoreg.com ) Мои услуги на Kwork ( https://kwork.ru/user/worksale )
M
На сайте с 04.10.2013
Offline
82
#65
Pegistrator:
Как там софт жив еще?)

Да, софт полностью в боевом режиме!

Здесь (https://imonetizeit.ru/site/referral?hash=e9c994975be66785c950cf8c64a2e4d0) дейтинг со смартлинком, все гео
JakoKruzo
На сайте с 04.06.2008
Offline
158
#66

Обновление 2.1.3.

1. Исправил ошибку с загрузкой страниц через редирект с портом в урле (Location: https://site.ru:443/).

2. Сделал возможность указать в настройке striplinks какие ссылки не надо удалять. Например, чтобы удалялись все ссылки, кроме ссылок содержащих в урле "somepage.html", или слово "Buy" в анкоре, или "color:#00C" в стиле, надо задать настройку:

*striplinks=1{somepage.html,Buy,color:#00C}

3. Добавил настройку protectedblocksdetect, в которой можно задать блоки, которые не нужно удалять. И сделал, чтобы specialblocksdetect блоки, тоже не удалялись. Раньше они могли быть удалены, если вдруг принимались программой за мусор.

Отличие protectedblocksdetect (защищённых блоков) от specialblocksdetect (специальных блоков) в том, что они могут быть изменены (удаляются атрибуты не указанные в keepattributes).

Например, нужно защитить от удаления этот блок:

<div class="testclass1">
<li class="testclass2">Hello!</li>
</div>

Если указать настройку:

*protectedblocksdetect=testclass1

или

*protectedblocksdetect=testclass2

или

*protectedblocksdetect=Hello!

, то результат будет:

<div>
<li>Hello!</li>
</div>

M
На сайте с 04.10.2013
Offline
82
#67

Отличное обновление. Рекомендую парсер к покупки, пользуюсь уже полгода, работает прекрасно!

Возможно некоторым покажется неудобный процесс настройки, т.к в интерфейсе программы настройки парсинга не сделать, нужно править файл настроек.

JakoKruzo
На сайте с 04.06.2008
Offline
158
#68

Mrtrick, ок, сделаю возможность править настройки в интерфейсе.

JakoKruzo
На сайте с 04.06.2008
Offline
158
#69

Mrtrick, в общем, думал я, как сделать редактирование настроек в интерфейсе, и понял, что в данном конкретном случае это не будет удобнее, чем задание их в файле напрямую потому, что большинство настроек это просто перечисление через запятую строковых данных, как например: *specialblocksdetect=instagram,twitter,youtube

В интерфейсе эта настройка была бы списком:

instagram
twitter
youtube

А в случае, когда этих данных много (например у removeblocks), то списки отображались бы не полностью, а с прокруткой, что затрудняет их визуальное восприятие. На мой взгляд, удобнее просто редактировать настройки в файле потому, что они все сразу видны как на ладони. Можно, например, открыть несколько файлов и легко сравнить, чем они отличаются.

Если у вас есть предложения, как организовать удобное редактирование настроек в интерфейсе, пишите.

Тем, кто собирается купить парсер: вот пример настроек по умолчанию, а вот инструкция с их разъяснением. Если есть вопросы, пишите. Настраивать парсер под каждый сайт не требуется. Настройки задаются общие для всех сайтов, либо для нестандартных случаев.

M
На сайте с 04.10.2013
Offline
82
#70
JakoKruzo:
Mrtrick, Если есть вопросы, пишите.

Написал вчера вам на эл.почту насчет настроек, пока ответ не получил насчет моей идеи :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий