братцы помогите сделать шаблон простой

earql8

Новичок
Регистрация
14.09.2023
Сообщения
4
Благодарностей
0
Баллы
1
я наверное тупой не могу сделать
"C:\Program Files\ZennoLab\RU\ZennoPoster Demo V7
что нужно брать по очереди сылки на сайт с txt файла в столбик
mail.ru
google.com
и так далее после взятия удалять из файла сылку котою чекнули
переходить по сылки. сылка будет редекетить на страницу сайта. нужно сохранить url куда редекедит если это происходит
нужно сохранять результат в файл txt токого формата сылка на которую перешли и где оказались url пример
google.com/help google.com/404
просто как пример
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 781
Благодарностей
2 442
Баллы
113
я наверное тупой не могу сделать
"C:\Program Files\ZennoLab\RU\ZennoPoster Demo V7
что нужно брать по очереди сылки на сайт с txt файла в столбик
mail.ru
google.com
и так далее после взятия удалять из файла сылку котою чекнули
переходить по сылки. сылка будет редекетить на страницу сайта. нужно сохранить url куда редекедит если это происходит
нужно сохранять результат в файл txt токого формата сылка на которую перешли и где оказались url пример
google.com/help google.com/404
просто как пример
C#:
var path = @"C:\Users\User\Desktop\ссылки.txt"; // входящие ссылки
var path_out = @"C:\Users\User\Desktop\результат.txt"; // результат
var list = File.ReadAllLines(path).Where(x=>!string.IsNullOrEmpty(x)).ToList(); // взяли все ссылки
var list_out = new List<string>(); // список для результата

for(int i=0;i<list.Count;i++){ //
    string url = list[i].Trim(); // взяли ссылку
    instance.ActiveTab.Navigate(url); // перешли на страничку
    Thread.Sleep(10*1000); // Ждем 10 секунд для загрузки
    list_out.Add(string.Join(" ", new[]{ url, instance.ActiveTab.URL})); // сохранили результат
}
File.WriteAllLines(path_out,list_out ); // записали в файл результат
File.AppendAllText(path, string.Empty); // очистили входящий список
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 686
Благодарностей
4 641
Баллы
113
C#:
var path = @"C:\Users\User\Desktop\ссылки.txt"; // входящие ссылки
var path_out = @"C:\Users\User\Desktop\результат.txt"; // результат
var list = File.ReadAllLines(path).Where(x=>!string.IsNullOrEmpty(x)).ToList(); // взяли все ссылки
var list_out = new List<string>(); // список для результата

for(int i=0;i<list.Count;i++){ //
    string url = list[i].Trim(); // взяли ссылку
    instance.ActiveTab.Navigate(url); // перешли на страничку
    Thread.Sleep(10*1000); // Ждем 10 секунд для загрузки
    list_out.Add(string.Join(" ", new[]{ url, instance.ActiveTab.URL})); // сохранили результат
}
File.WriteAllLines(path_out,list_out ); // записали в файл результат
File.AppendAllText(path, string.Empty); // очистили входящий список
просто как пример
наверно он хотел пример попроще)
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 781
Благодарностей
2 442
Баллы
113
наверно он хотел пример попроще)
Это и есть простое решение, так сказать в лоб и годится исключительно для запуска в проджект мейкере и не рекомендуется запускать на больших списках и в самом Зеннопостере - чисто демонстрационный вариант для одноразового выполнения работы.
А для Зенно и многопотока однозначно нужно изменять, чтобы за одно выполнение работа происходила только с одной ссылкой.
 

earql8

Новичок
Регистрация
14.09.2023
Сообщения
4
Благодарностей
0
Баллы
1
C#:
var path = @"C:\Users\User\Desktop\ссылки.txt"; // входящие ссылки
var path_out = @"C:\Users\User\Desktop\результат.txt"; // результат
var list = File.ReadAllLines(path).Where(x=>!string.IsNullOrEmpty(x)).ToList(); // взяли все ссылки
var list_out = new List<string>(); // список для результата

for(int i=0;i<list.Count;i++){ //
    string url = list[i].Trim(); // взяли ссылку
    instance.ActiveTab.Navigate(url); // перешли на страничку
    Thread.Sleep(10*1000); // Ждем 10 секунд для загрузки
    list_out.Add(string.Join(" ", new[]{ url, instance.ActiveTab.URL})); // сохранили результат
}
File.WriteAllLines(path_out,list_out ); // записали в файл результат
File.AppendAllText(path, string.Empty); // очистили входящий список
Клас все роботает большое спосибо. извеняюсь за наглость а можно как то сделать что бы страница грузилась 3 сек. если долгая загруска страницы. то что мне нужно как раз для не больших списков спс
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 289
Благодарностей
843
Баллы
113

earql8

Новичок
Регистрация
14.09.2023
Сообщения
4
Благодарностей
0
Баллы
1

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 781
Благодарностей
2 442
Баллы
113
Клас все роботает большое спосибо. извеняюсь за наглость а можно как то сделать что бы страница грузилась 3 сек. если долгая загруска страницы. то что мне нужно как раз для не больших списков спс
Попробуйте в начале кубика поставить так:
C#:
instance.IgnoreAjaxRequests = true;
instance.IgnoreAdditionalRequests = true;
instance.IgnoreFrameRequests = true;
instance.IgnoreFlashRequests = true;
// в 5-й версии работает, а как в 7-й - не знаю :(
В результате сразу после перехода состояние будет освобождаться.
После чего уже регулировать нужно паузу тут - вместо 10 установить 3:
C#:
Thread.Sleep(3*1000); // Ждем 3 секунды для загрузки
 
  • Спасибо
Реакции: everick

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 289
Благодарностей
843
Баллы
113
Попробуйте в начале кубика поставить так:
C#:
instance.IgnoreAjaxRequests = true;
instance.IgnoreAdditionalRequests = true;
instance.IgnoreFrameRequests = true;
instance.IgnoreFlashRequests = true;
// в 5-й версии работает, а как в 7-й - не знаю :(
В результате сразу после перехода состояние будет освобождаться.
После чего уже регулировать нужно паузу тут - вместо 10 установить 3:
C#:
Thread.Sleep(3*1000); // Ждем 3 секунды для загрузки
Так это все для WaitDownloading, Navigate просто переходит и ничего не ожидает. В данном примере простого слипа достаточно.
 
  • Спасибо
Реакции: doc

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)