СКРИПТ: Анализ ссылок на форумы

Автоматическое наполнение простых сайтов, форумов, блогов и различных CMS контентом. Автоматическое ведение сайта, блога или форума.
Ответить
Аватара пользователя
XwebDeveloper
Сообщения: 51
Зарегистрирован: 13 ноя 2017, 12:53

СКРИПТ: Анализ ссылок на форумы

Сообщение XwebDeveloper » 28 апр 2020, 18:56

Скрипт проверки ссылок на форумы с нужными темами или разделами.

Версия программы: Human Emulator Studio 7.0.47.

Браузер: Chromium и Firefox.

Язык скрипта: PHP

Логика: Имеются ссылки в файле. Скрипт проходит по всем ссылкам проверяет форум это или нет. Если нет, записывает ссылку в файл с плохими (не форумами). Если ссылка это форум или на странице есть ссылка на форум, переходит на форум и проверяет на главной странице наличие заданных тем. Если ссылки содержащие проверочные слова есть, тогда записываем в файл с подходящими, если нет то просто в файл с форумами. На выходе из одного файла получаем три 1. с плохими ссылками - не форумами, 2. файл с ссылками на форумы, где есть интересующие нас темы или разделы 3. файл с ссылками на форумы, где нет интересующих нас тем и разделов.

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

Скрипт состоит:
Запускаемый файл forumchecker.php.
В папку res записываются файлы с результатами анализа.
В папке data лежит файл с ссылками для анализа forums.txt в формате одна строка одна ссылка.

Скачать скрипт:
forumchecker.zip
(2.07 КБ) 109 скачиваний
Скрипт:
<?php

$xhe_host = "127.0.0.1:7014";

// The following code is required to properly run XWeb Human Emulator
require("../../Templates/xweb_human_emulator.php");

// файл со ссылками на форумы
$path_forums_file ="data\\forums.txt";
// текущий индекс проверенного
$path_ind="data\\ind.txt";

$path_bad_forums = "res\\forums_bad.txt";
$path_good_forums = "res\\forums_good.txt";
$path_good_post_forums = "res\\forums_good_post.txt";

// проверка на форум
$forum_str = "ФОРУМ;Форум;форум";
// название темы или раздела который нужно проверить на сайте
$post_str = "Софт;cофт;программ;Программ";

// получить все форумы в массив
$arr_forums=file($path_forums_file);

// текущий индекс проверки
$start_ind=0;

// если есть индекс берём его
if($file_os->is_exist($path_ind))
{
   $start_ind=trim($textfile->read_file($path_ind));
   $start_ind+=1;
}

// пройдёмся по всему массиву форумов
for($i=$start_ind;$i<count($arr_forums);$i++)
{
    echo trim($arr_forums[$i])."<br>";

    // переходим на форум
    $browser->navigate(trim($arr_forums[$i]));

    sleep(1);

    $found=false;
    // делаем проверку на форум
    $arr_chf = explode(';',$forum_str);
    foreach($arr_chf as $value)
    {
       if($anchor->is_exist_by_inner_text($value,false))
       {  
          $found=true;
          break;  
       }
    }
    // не нашли нужную ссылку на форум
    if(!$found)
    {
	// запишем в файл с плохими
	$textfile->add_string_to_file($path_bad_forums,trim($arr_forums[$i])."\r\n"); 
	$textfile->write_file($path_ind,$i);
	continue;
    }

    // переходим на форум    
    foreach($arr_chf as $value)
    {
        if($anchor->click_by_inner_text($value))
            break;
    }
    // нужные нам темы или ссылки которые есть на форуме
    $arr_post = explode(';',$post_str);
    // проверка на интересующие нас темы
    foreach($arr_post as $value)
    {
       if($anchor->is_exist_by_inner_text($value,false))
       {  
            // запишем в файл с нужными темами
            $textfile->add_string_to_file($path_good_post_forums,trim($arr_forums[$i])."\r\n");
            $textfile->write_file($path_ind,$i);
            continue 2;
       }
    }

    // форум но без нужных ссылок 
    $textfile->add_string_to_file($path_good_forums,trim($arr_forums[$i])."\r\n");    
}

// удалить файл с индексом
$file_os->delete($path_ind);

// Quit
$app->quit();
?>
Запрос на создание скриптов viewforum.php?f=61

Ответить