АРМАДА
Автоматизация в ZennoPoster
Новая тема Написать ответ Advanced Hosters - профессиональный хостинг

serrgo
Свой
Зарегистрирован: 23.06.2008
Сообщений: 44
Обратиться по нику
# Добавлено:Чт Июл 09, 2009 3:39 pmДобавить в избранноеОтветить с цитатой
Привет! Если вы не против в этой теме я буду периодически выкладывать полезные шаблоны для програмного комплекса зеннопостер и объясню принцип их написания.
Если вы не являетесь владельцем этой программы то вы можете просто скачать демку вот тут http://www.captcham.net/download.php?fn=ZennoPoster+and+ZennoBot и воспользоватся шаблоном.
Парсинг статей
Где брать контент для сателлитов, сплогов, блогов,сайтов? Для белых и качественных проектов конечно лучше купить или написать самому. Для серых проектов вполне подойдут статьи уникализированные с помощью синонимайзера с качественной базой синонимов. Данный шаблон поможет нам собрать сотни тысяч статей не затрачивая никаких усилий.
За основу был взят популярный ресурс articlesbase.com. На данный момент он содержит около 850 тысяч статей на самые разные темы. При желании мы сможем спарсить их все, за какое время мы управимся будет зависеть только от ширины нашего канала и количества потоков работы зеннопостера.
Если вы зайдете на этот сайт, то увидите что статьи разбиты на 342 категории. Зайдя в любую категорию мы видим что на странице помещается 15 статей и к урлу каждой странице прибавляется число 15, т.е. первая страница имеет урл http://www.articlesbase.com/advertising-articles/ ,вторая http://www.articlesbase.com/advertising-articles/16 ,третья http://www.articlesbase.com/advertising-articles/31 и так далее. Ссылки на статьи имеют вид http://www.articlesbase.com/art-and-entertainment-articles/why-voice-over-artists-and-acting-classes-go-handinhand-voice-over-la-978133.html и для того чтобы их спарсить нужно заходить на каждую страницу категории. Чтобы облегчить вам задачу я сделал файлик с ссылками на каждую категорию вглубь до 26 страницы. Этого будет достаточно чтобы отпарсить 130 тысяч статей. Если вам этого мало то можете сами дополнить файл ссылками.
Итак наш парсер будет состоять из 2 шаблонов: первый будет парсить ссылки на сами статьи ,а второй будет проходить по этим ссылкам и парсить сами статьи.
Первый шаблон:
Код:

<?xml version="1.0"?>
<Project Version="2.0" Name="articlesbase.com" UseCookie="true" HttpsSupport="False" UseEvents="true">
  <Step Number="0" Module="Get">
    <Input ID="first_input" URL="about:blank" Referer="" CookieString="" CookieFileName="" ClearCache="false" LoadingPageTimeout="300" UseFrames="False" />
    <Output ID="urls" Source="from_file" FileName="$($macApplication.StartupPath$)$\articlesbase.com\urls.txt" NumberOfString="0" NeedDelGetingValue="true" RegExp="" Value="" />
  </Step>
  <Step Number="1" Module="Get">
    <Input ID="first_input" URL="$($FieldData.FieldData$$$0$$$urls$$$Value$)$" Referer="" CookieString="blank" CookieFileName="" ClearCache="false" LoadingPageTimeout="300" UseFrames="False" />
    <Output ID="source" Source="page" RegExp="" Type="HTML" Value="" />
    <Output ID="links" Source="macros" Macros="$($RegExp.RegExp$$$$($FieldData.FieldData$$$1$$$source$$$Value$)$$$$(?&lt;=href\=\&quot;\/).*?\.html$$$all$)$" Value="" />
  </Step>
  <Step Number="2" Module="SaveResults">
    <Input ID="file" FileName="$($macApplication.StartupPath$)$\articlesbase.com\results.txt" Value="$($FieldData.FieldData$$$1$$$links$$$Value$)$" />
  </Step>
</Project>


Берет поочереди адрес ссылки из файла urls.txt, переходит на нее и парсит ссылки на статьи.
Ссылки мы парсим регулярным выражением (?<=href\=\"\/).*?\.html . Все адреса ссылок на статьи записываются в файл results.txt .Небольшое замечание: после того как вы отпарсите все ссылки на статьи удалите дубликаты строк в файле results.txt.
Второй шаблон:
Код:

<?xml version="1.0"?>
<Project Version="2.0" Name="articlesbase.com2" UseCookie="true" HttpsSupport="False" UseEvents="true">
  <Step Number="0" Module="Get">
    <Input ID="first_input" URL="about:blank" Referer="" CookieString="" CookieFileName="" ClearCache="false" LoadingPageTimeout="300" UseFrames="False" />
    <Output ID="links" Source="from_file" FileName="$($macApplication.StartupPath$)$\articlesbase.com\results.txt" NumberOfString="0" NeedDelGetingValue="true" RegExp="" Value="" />
  </Step>
  <Step Number="1" Module="Get">
    <Input ID="first_input" URL="http://www.articlesbase.com/$($FieldData.FieldData$$$0$$$links$$$Value$)$" Referer="" CookieString="blank" CookieFileName="" ClearCache="false" LoadingPageTimeout="300" UseFrames="False" />
    <Output ID="text" Source="page" RegExp="(?&lt;=\&lt;\/a\&gt;\&lt;\/p\&gt;)[\w\W]*?(?=Ads by Google)" Type="Text" Value="" />
    <Output ID="title" Source="page" RegExp="(?&lt;=\&lt;TITLE\&gt;).*?(?=\&lt;\/TITLE\&gt;)" Type="HTML" Value="" />
  </Step>
  <Step Number="2" Module="SaveResults">
    <Input ID="file" FileName="$($macApplication.StartupPath$)$\articlesbase.com\$($RegExp.RegExp$$$$($FieldData.FieldData$$$0$$$links$$$Value$)$$$$.*(?=\/)$$$0$&#­41;$\$($RegExp.RegExp$$$$($FieldData.FieldData$$$0$$$links$$$Value$)$$$$(?&lt;=\/).*(?=\.html?#41;$$$0$)$.txt" Value="$($FieldData.FieldData$$$1$$$title$$$Value$)$&#xD;&#xA;$($FieldData.FieldData$$$1$$$text$$$Value$)$" />
  </Step>
</Project>



Берет поочереди адреса ссылок на статьи из файла results.txt , переходит по ним и сохраняет полный текст статьи.
Инструкция использования шаблона: папку articlesbase.com копируем в папку зеннопостера. Запускаем сначала шаблон articlesbase.com(ставим количество заданий в зеннопостере равное количеству строк в файле urls.txt). Потом можно запускать шаблон articlesbase.com2.
В результате работы каждая статья будет записана в файл с названием статьи и сохранена в папке с названием категории. Т.е. вам не придется рытся в куче статей в поисках статей определенной категории, все будет удобно разложено по палочкам.
Можете скачать шаблоны и файл urls.txt по любой удобной для вас ссылке:
Код:
http://slil.ru/27820956
http://rapidshare.com/files/253341224/articlesbase_com.rar.html
http://ifolder.ru/13010204

ZennoPoster со скидкой+бонус
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ

Перейти:  





Генеральный спонсор



Партнеры