Продвинутый парсинг движков сайтов
10 октября 2012, 10:10, posted by Zhenek | SEO методы, SEO статьи |

Всем привет! Давно я не писал статей и не палил темы. Как многие читатели помнят, я написал статью про парсинг движков по картинкам, который отлично подходит для всех пользователей. В этой статье я хочу рассказать о методе парсинга движков сайтов с использованием внутренних признаков движков, который больше подойдет для людей «в теме». А люди, которые еще не «в теме», более глубоко вникнут в схемы автоматизации поиска движков, проверки движков на живучесть и прочее.

В этой статье я покажу, как выполнять поиск одних из самых распространенных движков сайтов, а именно DLE, Joomla, Vbulletin, PHPBB, IPB и приложу скрипт для поиска данных движков по списку доменов (по аналогии с предыдущим скриптом, только в этот раз он будет проверять эти 5 движков). А те люди, которые знают программирование, смогут запросто переписать его под свои нужды. Сейчас я покажу примеры признаков поиска указанных выше движков и вы увидите разнообразие вариантов для определения CMS на которой сделан тот или иной сайт.

DLE. Как всем, наверное, известно, практически у любого движка есть свои особенности, свои варнинги и прочие признаки, которые зачастую скрыты даже для Гугла, и спарсить выдачу по этим признакам будет проблематично. В качестве примера данного признака можно рассмотреть движок DLE. В DatalifeEngine если зайти на страницу http://example.com/engine/engine.php с браузера, то вы увидите текст Hacking attempt! Эта надпись и данный путь с вероятностью 95% скажут нам о том, что данный сайт работает на движке DLE.

Joomla. Движок Joomla можно с большой долей вероятности определить по метатегам и файлу robots.txt. В метатегах должно быть прописано примерно следующее: <meta name=»Generator» content=»Joomla! — Copyright © 2005-2007 Open Source Matters. All rights reserved.» />. Т.е. нам необходимо воспользоваться регуляркой preg_match(‘!<meta name=»Generator» content=»[^»]*Joomla!iUs’, $page_content); В файле robots.txt должна присутствовать следующая строка: Disallow: /components/

vBulletin. Движок vBulletin по внутренним признакам с большой долей вероятности можно определить по наличию метатега: <meta name=»generator» content=»vBulletin 3.8.7″ />

Также его можно определить по наличию на странице http://example.com/login.php?do=login строки: name=»vb_login_md5password»

Если оба этих признака совпадают, то это форумный движок vBulletin.

PHPBB. Форумный движок PHPBB можно определить по наличию метатега copyright и примерно следующего содержания в нем: <meta name=»copyright» content=»2000, 2002, 2005, 2007 phpBB Group» />, а также по наличию следующей строки, если зайти на URL http://example.com/login.php: name=»username». Эти проверки подойдут для старых версий движка, а для новых версий необходимо зайти на URL http://domain.com/ucp.php?mode=login и проверить наличие следующей строки: action=»./ucp.php?mode=login

IPB. Движок IPB можно с большой долей вероятности определить по наличию строки <!—ipb.javascript.start—>. Также в футере страницы должны быть копирайты с названием IP.Board в строке копирайтов. Но для скриптового определения нам хватит и одной строки.

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

http://contorra.ru/ru/znanie/kak-opredelit-na-kakoi-cms-rabotaet-sait
http://itpride.net/content/media/Tablica-opredelenia-CMS-po-Priznakam.pdf
http://cyber-promo.ru/archives/3487

Теперь переходим к скрипту. Я написал скрипт, который проверяет список доменов на приведенные в статье движки. Пользоваться скриптом просто: достаточно скачать архив и распаковать его содержимое на денвер или сервер, добавить список доменов в файл domains.txt и запускать скрипт из браузера http://your-domain.com/path/engine-parser.php. Результаты будут складываться в файл CMS_NAME.txt, например, vbulletin.txt, dle.txt и т.п.

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

Скрипт у меня успешно работает на PHP Version 5.3.3, но я уверен будет работать и на более ранних версиях. Скрипт не требует каких-либо дополнительных модулей PHP и написан так, что программисты смогут быстро добавлять свои анализаторы других движков. Еще раз скажу про список доменов. Где их брать — пусть каждый решает сам, потому что если я выложу на блоге базу доменов, то все сайты быстро «убьются».

Желаю всем удачи в нашем деле, поменьше фильтров и побольше профита! 🙂

Автор статьи: GlebGor.

7 комментариев
7 комментариев
  • комментарий by Курский бомж - 11.10.2012, 12:12

    Больше интересуют методики как из выдачи эти сайты находить, этот самый «список доменов». Яндекс отдает теоретически 1000 урлов на запрос, на практике еще меньше, да и еще нужно придумать как эти запросы составлять… Если есть информация на эту тему поделитесь))

  • комментарий by Anubis - 11.10.2012, 12:29

    Интересная идея! Таким способом пользуются всякие люди для поиска уязвимостей, но и для SEO парсинга отлично подходит. А сложно ли к скрипту приделать возможность поиска WordPressа?

  • комментарий by GlebGor - 11.10.2012, 14:40

    Курский бомж, даю подсказку: можно брать какой-нибудь поисковой движок и пускать его по интернету. 😉 И вытаскивать оттуда домены… Это как один из вариантов. Правда долго лазить будет и мощности нужны немаленькие для этого, но результат будет хороший.

    Anubis, WordPress и его парсинг есть в предыдущей моей статье https://www.rxpblog.com/search-by-pictures/

    Вообще скрипт расширяемый и вы если знаете PHP, то проблем с добавлением новых движков не будет.

  • комментарий by Фредди - 11.10.2012, 15:29

    Запустил скрипт на денвере, все работает отлично.. а на сервере так же будет работать?

  • комментарий by Tikov - 11.10.2012, 17:16

    Спасибо за статью! Я догадался по предыдущей, что на картинках парсинг не заканчивается. 😉 В принципе если 10кк доменов прогнать то можно много чего нарыть.

  • комментарий by GlebGor - 11.10.2012, 20:13

    Фредди, на сервере скрипт будет также хорошо работать как и на денвере.

    Tikov, конечно можно. А если 100кк то еще больше

  • комментарий by dendesoft - 6.11.2012, 15:24

    Курский бомж, смотря какие объемы вас интересуют. Я бы начал, к примеру, со списка первого 1 000 000 сайтов Алексы. Или, к примеру, списка сайтов ли.ру. Все это есть в свободном доступе, даже парсить не нужно.

Оставить комментарий

(обязательно)
(обязательно)
Введите свой email:

Разделы

Теги

Полезные сайты