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

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

Почти всё сделал. Алгоритм полностью новый, основывается на анализе разметки. Очень хорошо парсит, со всеми тегами, таблицами, роликами и т.д. И при этом очень чисто, без всего лишнего.

Думаю, как быть со стилями элементов. Просто удалять их? Например, align картинок часто задаётся в css файле .leftimage{float: left;}, а в теге задаётся: <img class="leftimage">. При удалении class="leftimage" будет теряться расположение картинки.

IV
На сайте с 16.07.2012
Offline
45
#12

Буржунет парсит?

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

InterVlad, да. На днях возобновлю продажу.

JakoKruzo
На сайте с 04.06.2008
Offline
158
#14
Сделайте возможность отключать парсинг видео, картинок в статью. Может я хочу просто тупо текст без всяких там кодов и тегов.

Сделал 3 режима: all, text, images.

Например, чтобы сохранять только картинки, нужно в файле настроек указать режим так:

*mode=images

Так теги картинок будут сохраняться целиком, в том виде, в котором они стоят на странице.

Можно указать свой формат:

*mode=images{<img src="[SRC]" alt="[ALT]">}

Кроме [SRC] и [ALT] ещё есть [KEY] и [ALTKEY]. [KEY] - выводит название статьи, а [ALTKEY] выводит alt или название статьи, если alt-а нет.

Чтобы сохранялся только текст, нужно указать режим так:

*mode=text

Было бы офиено, если бы парсер тянул статьи только с определенного раздела!

Сделал такую возможность. Например, чтобы статьи брались только из разделов decor/ и furniture/, надо указать сайт так:

sitename.ru*decor/*furniture/

При обходе страниц программа будет брать только статьи, в урлах которых есть указанные части.

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

Можно включать-выключать парсинг роликов youtube, твитов, инстаграмма и прочих элементов.

Кроме ру тестил также на немецких и испанских сайтах. Получилось прямо то, что я давно хотел!

Новая цена - 2500 руб. ($44). Чтобы приобрести, пишите мне на JakoKruzo@mail.ru. Пишите сайты, спарсю для проверки.

P.S.

Для импорта в WordPress и другие движки есть специальные программы, такие как Цербер, Зеброид.

IT_DED
На сайте с 07.03.2007
Offline
236
#15

Сними видосов по настройке, парсингу, чтоб наглядно понимать что и как там нужно делать...

⭐ Все мои рекомендации тут - https://in.gl/itded
JakoKruzo
На сайте с 04.06.2008
Offline
158
#16

Думка, настраивать ничего не нужно. Скрин настроек я прикрепил просто для того, чтобы показать, что есть определённая гибкость.

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

Описание файла настроек:

1. *keyfilenames=1 - Статьи сохраняются в файлы с именами равными заголовкам статей. В качестве заголовка используется первый заголовок H, либо тайтл, если заголовка H нет. От тайтла берётся самая длинная часть. Если указать *keyfilenames=0, то имена будут вида: 13.03.2018-site.ru-18.txt.

2. *saveencoding=utf-8 - кодировка, в которой сохранять статьи.

3. *savetofolders=1 - для каждого сайта создаётся своя папка. *savetofolders=0 - все статьи будут сохраняться в папку articles.

4. *mode=all - режим. all - статья сохраняется целиком со всеми тегами, text - только текст, images - только картинки (выше я уже писал об этом).

5. *striplinks=1 - удалять теги ссылок, оставлять только анкор. *striplinks=0 - оставлять ссылки как есть.

6. *basicblocks=SPAN,OL,UL,TABLE,DIV - задаются базовые блоки. Не изменять!

7. *specialblocksdetect=instagram,twitter,youtube - обнаружение специальных блоков. Если внутри блока встречается указанный текст/код (один или более из перечисленных), то блок остаётся в неизменном виде.

8. *embedobjectsdetect=youtube.com/v/,youtube.com/embed,instagram.com/embed,twitter.com/widgets - работает так же, как и в предыдущем пункте, только для script, object, iframe. Нужно для определения кодов различных встраиваемых элементов (ролики, инстаграммы и прочее).

9. *keepattributes=style,src,align,alt,title,height,width,href - какие атрибуты тегов оставлять. Остальные удаляются.

10. *badblocksdetect=share{1000},подели,коммент... - работает как и specialblocksdetect, только не оставляет блоки, а удаляет. В фигурных скобках можно указывать максимальную длину блока, до которой делать проверку. По-умолчанию она равна 100. Например: share{1000} - значит, что если блок содержит слово share, и длина блока меньше 1000 символов, то удалять его.

11. *badlinksdetect= on,nofollow,share,data-pin - определение плохих ссылок. Если в теге ссылки содержится одна из перечисленных строк, то эта ссылка целиком удаляется.

12. *badlinkshrefdetect=#,script:,;,//disqus.com - работает так же, как и в предыдущем пункте, но проверяется вхождение в href. Т.е. если href ссылки содержит одну из стоп-строк, то ссылка удаляется.

13. *badlinksanchordetect=<div - работает так же, как и в предыдущем пункте, но проверяется вхождение в анкор.

14. *removeblocks=STYLE,noindex,map... - элементы (блочные и нет), которые сразу удаляются.

15. *remove=<P></P>,<P><BR></P>,<STRONG></STRONG>,<EM></EM> - то, что удалять. Если в статью попадает мусор, вносите его сюда.

Регистр не имеет значения. Не нужно перечислять <P></P>,<p></p>. Достаточно одного.

I
На сайте с 14.10.2008
Offline
190
#18

Приобрёл вчера данный парсер, всё отлично парсит в каком надо формате. Пробовал разные языки, текст чистый, если что и остается можно настроить через настройки, короче то что надо.

📝 Нейро Тексты для сайтов, быстро, дешево и качественно 👉 https://bit.ly/xgptwriter 👈 | ►►► ✔100% загон в индекс ГУГЛА — Быстро и Недорого 👉 https://bit.ly/Link_index 💡 Проверено лично 2024 👍
JakoKruzo
На сайте с 04.06.2008
Offline
158
#19

Сделал обновление 2.0.1. Внёс мелкие правки.

В файле настроек теперь можно указывать user-agent и ограничение вложенности страниц:

*useragent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36
*pagenestinglimit=99

Когда я массово парсил сотни тысяч сайтов, то попадались такие, на которых парсинг зацикливался из-за неправильных ссылок. Чтобы такого не происходило, я ввёл ограничение на вложенность страниц. Например, если установить 5, то страницы с уровнем вложенности более 5 не будут парситься.

sema_87
На сайте с 28.08.2009
Offline
249
#20

JakoKruzo, а как с не мейнстримными языками работает?

Uh-Oh We're In Trouble, Something's Come Along And It's Burst Our Bubble!

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