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

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Опишите алгоритм получения статьи.
Защиты и т.п. - это бутафория с большего. Просто добавите потом проксятину и реальные браузеры.
---------- Добавлено 19.03.2018 в 12:53 ----------
либо разметка с грубыми ошибками.
если у вас обязательное условие - распарсить DOM, то большинство сайтов ваш софт не возьмет. Больше кривых нежели валидных.
ЗЫ. интересуюсь не из комерческого интереса. Когда то эту задачу изучал просто.
eN_Slon, раскрывать алгоритм я не буду. Скажу только, что сначала я пытался делать парсинг отталкиваясь от блоков текста, но многие статьи, в которых много различных вставок, парсились не целиком. Поэтому я решил пойти другим путём, отталкиваясь от разметки, и сейчас я считаю, что мой алгоритм оптимальный для большинства сайтов.
Кривых много, но правильных большинство. Тем более, имеют значения только грубые ошибки, нарушающие иерархию блоков.
Сделал обновление 2.0.4.
Теперь можно получать данные из мета-тегов. Например:
Макрос выводящий ключевые слова - [ARTICLE_META_KEYWORDS]
Описание - [ARTICLE_META_DESCRIPTION]
Можно значения любых мета-тегов выводить. Например:
[ARTICLE_META_og:title]
[ARTICLE_META_og:url]
[ARTICLE_META_twitter:title]
[ARTICLE_META_twitter:description]
Ещё сделал, чтобы можно было указывать страницу сайта, с которой начинать обход сайта: site.ru/folder/page.html. В этом примере будут парситься только страницы в папке folder. Чтобы парсились все страницы, надо добавить к урлу {NOT_ROOT}: site.ru/folder/page.html{NOT_ROOT}.
Сделал обновление 2.0.5.
В дополнение к {NOT_ROOT} сделал возможность указывать корневую папку: {ROOT:/}. Например, входная страница https://www.site.ru/blog/articles/index.php , а нужно, чтобы парсились статьи не только из /blog/articles/, а со всей папки /blog/. Тогда указывать сайт надо так: https://www.site.ru/blog/articles/index.php{ROOT:/blog/}
Внёс изменения позволяющие парсить web.archive.org.
Сайт указывать так: http://web.archive.org/web/20171004194426/https://www.site.ru/
Веб-архив подставляет ко всем урлам на сайте свой урл: http://web.archive.org/web/20171004194426/https://www.site.ru/page.html
Чтобы урл веб-архива удалялся, надо в settings.txt указать *urlinurl=1
Так от вышеуказанного урла останется только https://www.site.ru/page.html
Это работает не только с урлами веб-архива, но и со всеми урлами вида: http://site1.ru/folder/http://site2.ru.
Сделал обновление 2.0.6.
Добавил возможность загрузки файлов изображений с заменой урлов в тегах. Для этого в settings.txt укажите:
*downloadimages=all{images,100,100}
В фигурных скобках указывается имя папки, в которую сохранять изображения, минимальная ширина и высота. Если изображение не скачалось, либо ширина или длина меньше минимального значения, то тег этого изображения удаляется из статьи.
Чтобы загружались только изображения находящиеся на том же домене, что и сайт (не хотлинкинг), надо указать так:
*downloadimages=host{images,100,100}
Чтобы у картинок в src путь начинался со слеша, указываем так:
*downloadimages=all{/images,100,100}
Добавил возможность сохранения логов обхода сайта:
*logs=1
Если вдруг какой-то сайт не парсится, можно посмотреть какие данные присылает сервер.
Как спарсить сайты из веб-архива по списку.
Укажите сайты так:
http://web.archive.org/web/20300920134653/site1.com/
http://web.archive.org/web/20300920134653/site2.com/
http://web.archive.org/web/20300920134653/site3.com/
...
Дата в урле не имеет значения. Например, я указываю 2030 год: 20300920134653. Веб-архив автоматически перенаправляет на существующие даты.
Инструкции:
http://jako.tech/docs/MassArticleParser.rtf
http://jako.tech/docs/MassArticleParser-ENG.rtf
раскрывать алгоритм я не буду
Чего его скрывать то, это стандартный свободный код boilerpipe.
http://boilerpipe-web.appspot.com/ - абсолютно бесплатно и для многих языков есть плагины.
Конечно, лучше полную версию на питоне юзать, но огрызок под php тоже справляется со многими сайтами на ура.
Нет, я не использовал каких-либо сторонних разработок.
Купил парсер, очень удобный, с задачей справляется, дергаю текстовку для доров.
Возникли вопросы, автор, к сожалению, проигнорировал почту, либо не заметил.
Пишу здесь свои вопросы
1: Например, мой шаблон выглядит так
[ARTICLE_TITLE] – заголовок страницы.
[ARTICLE_H] – первый заголовок H.
[ARTICLE_BODY] – сама статья.
В случае если одно из условий шаблона не соответствует сайту, например отсутствует на доноре H тег, статья пропустится или сохранится?
2: Паршу в 20 потоков, после того как спарсилось, допустим 18 сайтов, остается только 2 активных потока, может стоит переходить в таком случае к следующим сайтам, чтобы были задействованы все потоки?
3: Внутри директории Articles куда отправляется материал, не хватает подразделов с тематиками, например, мне нужно спарсить кулинарию, я добавил список сайтов в sites.txt, либо указывать в программе путь до текстовика с сайтами и самое важное, чтобы в директории Articles создалась директория с названием тематики, например если кулинарию, то уже в этой директории весь материал, а то так каша получается.