From Idea to Execution: Automating Exam File Collection and Publication with ZennoPoster. Автоматизация сбора и публикации экзаменационных материалов

dzair

Client
Регистрация
23.11.2022
Сообщения
19
Благодарностей
15
Баллы
3
From Idea to Execution: Automating Exam File Collection and Publication with ZennoPoster


EN
Picture this: You're gearing up for final exams, eager to dive into your studies. But as you search for exam files online, you're met with frustration. The websites are cluttered, the navigation is confusing, and finding what you need feels like searching for a needle in a haystack.
Out of Curiosity, I asked myself how can these websites rank in top search results??!

Organic traffic
I delved into the top-ranking educational websites in my country using Semrush, examining their content, user engagement metrics, and design. Despite their high search rankings, many suffered from poor user interfaces, resulting in a high bounce rate. Additionally, I noted the low keyword difficulty associated with their rankings. This disparity between search performance and user experience inspired the concept of creating a website that excelled in both aspects, laying the foundation for innovation.

РУ
Представьте себе: вы готовитесь к финальным экзаменам, полны желания погрузиться в учебу. Но когда вы ищете экзаменационные материалы в интернете, сталкиваетесь с разочарованием. Веб-сайты запутаны, навигация запутана, и поиск нужной информации кажется поиском иголки в стоге сена.

Из любопытства, я задался вопросом, как эти веб-сайты могут попадать в топ поисковых результатов?! Я изучил топ-рейтинговые образовательные веб-сайты в своей стране с помощью Semrush, изучая их контент, метрики вовлеченности пользователей и дизайн. Несмотря на высокий рейтинг в поиске, многие страдают от плохого пользовательского интерфейса, что приводит к высокой отказоустойчивости. Кроме того, я отметил низкую сложность ключевых слов, связанных с их рейтингами. Это различие между поисковой производительностью и пользовательским опытом вдохновило идею создания веб-сайта, который превосходил бы в обоих аспектах, заложив основу для инноваций.

1- Collecting Data about Files and Exams:
Collecting exams details
Once the idea became clear, the first crucial step involved collecting data about files and exams from targeted websites. Using ZennoPoster, I initiated the process of extracting pertinent data from identified sources. This involved gathering information on educational materials, including lessons, summaries, national exams, and semester exams. By harnessing ZennoPoster's automated data extraction features, I streamlined the collection process, ensuring accuracy and efficiency. This phase laid the groundwork for compiling a diverse array of educational resources, essential for enriching the content offerings of the envisioned website.

1- Сбор данных о Файлах и Экзаменах:
Как только идея стала понятна, первым критическим шагом стал сбор данных о файлах и экзаменах с целевых веб-сайтов. Используя ZennoPoster, я начал процесс извлечения соответствующих данных из определенных источников. Это включало сбор информации об учебных материалах, включая уроки, резюме, национальные экзамены и семестровые экзамены. Используя функции автоматического извлечения данных ZennoPoster, я оптимизировал процесс сбора, обеспечивая точность и эффективность. Эта фаза положила основу для компиляции разнообразных учебных ресурсов, необходимых для обогащения контента создаваемого веб-сайта.

2- Downloading Files:
I embarked on the monumental task of downloading over 30,000 files from various sources. Utilizing ZennoPoster, I devised a systematic approach to automate the downloading process. This involved developing ZennoPoster templates to navigate through targeted websites, identify relevant files, and initiate the download procedure. Additionally, to overcome potential obstacles such as download limits and server restrictions, I employed advanced techniques, including the use of multiple threads and proxy services. Through careful planning and execution, I successfully amassed an extensive collection of educational resources.

2- Загрузка Файлов:
Я приступил к монументальной задаче загрузки более 30 000 файлов из различных источников. Используя ZennoPoster, я разработал систематический подход к автоматизации процесса загрузки. Это включало разработку шаблонов ZennoPoster для навигации по целевым веб-сайтам, идентификации соответствующих файлов и инициирования процедуры загрузки. Кроме того, чтобы преодолеть потенциальные препятствия, такие как ограничения на загрузку и ограничения сервера, я использовал продвинутые методы, включая использование нескольких потоков и прокси-сервисов. Благодаря тщательному планированию и выполнению, мне удалось успешно собрать обширную коллекцию учебных ресурсов.

3- Files Integrity:
Checking files integrity
Following the acquisition of a vast trove of educational materials, the next step was to ensure the integrity of each file through a verification process. I used custom C# snippets within ZennoPoster to systematically assess each file's validity. Parameters such as file size, format were scrutinized to identify any anomalies or discrepancies. Files failing to meet predefined criteria were flagged for manual verification.
Getting file size:
long length = new System.IO.FileInfo(project.Variables["input_file"].Value).Length;
project.Variables["size"].Value = length.ToString();
3- Целостность Файлов:
После получения обширного набора учебных материалов следующим шагом было обеспечение целостности каждого файла через процесс верификации. Я использовал пользовательские фрагменты C# в ZennoPoster для систематической оценки валидности каждого файла. Параметры, такие как размер файла и формат, были внимательно проверены на предмет каких-либо аномалий или расхождений. Файлы, не соответствующие заранее определенным критериям, были помечены для ручной проверки.
Получение размера файла: long length = new System.IO.FileInfo(project.Variables["input_file"].Value).Length; project.Variables["size"].Value = length.ToString();

4- Renaming Files:
Renaming files
The task of organizing and standardizing file names became paramount to ensure seamless navigation and discovery of files. I came up with an efficient file naming methodology to systematically categorize and label each file. Drawing upon parameters such as subject name, academic level, department, and file order, I crafted a formulaic approach to generate descriptive and intuitive file names. By creating customizable ZennoPoster templates, I automated the file renaming process, significantly expediting the task.

4- Переименование Файлов:
Задача организации и стандартизации названий файлов стала важной для обеспечения беспрепятственной навигации и поиска файлов. Я разработал эффективную методологию именования файлов для систематической категоризации и маркировки каждого файла. Основываясь на параметрах, таких как название предмета, уровень образования, отделение и порядок файла, я создал формульный подход к генерации описательных и интуитивно понятных имен файлов. Создавая настраиваемые шаблоны ZennoPoster, я автоматизировал процесс переименования файлов, значительно ускорив эту задачу.

5- Editing Files:
Using PDFtk
A new challenge emerged in the form of extra pages and metadata within the files. Specifically, PDF files often contained an additional page attributing credits to external websites, which had to be removed. To accomplish this task, I used ZennoPoster's "Run the program" cube to seamlessly integrate third-party CLI tools. This enabled the automated execution of these tools.

5.1. To remove the last page I used PDFtk:
Remove last page from pdf file:
"{-Variable.input_file-}" cat 1-r2 output "{-Variable.output_file-}"
5.2. To edit metadata I used Exiftool
Edit metadata:
// Replace 'example' with your details
-Title="example" -Author="example" -Subject="example" -Keywords="example" -Producer="GPL Ghostscript 9.50" -Creator="Nitro Pro" "{-Variable.input_file-}" -overwrite_original
5- Редактирование файлов:
Возникла новая задача в виде дополнительных страниц и метаданных внутри файлов. Конкретно, файлы PDF часто содержали дополнительную страницу, указывающую на внешние веб-сайты, за что им приходилось удалить. Для выполнения этой задачи я использовал кубик "Запустить программу" ZennoPoster для безшовной интеграции сторонних инструментов командной строки (CLI). Это позволило автоматизировать выполнение этих инструментов.

5.1. Для удаления последней страницы я использовал PDFtk:
Удалить последнюю страницу из файла PDF:
 "{-Variable.input_file-}" cat 1-r2 output "{-Variable.output_file-}"
5.2. Для редактирования метаданных я использовал Exiftool
Редактировать метаданные:
 // Замените 'пример' на ваши данные -Название="пример" -Автор="пример" -Тема="пример" -Ключевые слова="пример" -Производитель="GPL Ghostscript 9.50" -Создатель="Nitro Pro" "{-Variable.input_file-}" -overwrite_original
6- Organizing Files:
To streamline the process of content creation, I organized the acquired files into sub-directories in preparation for efficient articles creation. Additionally, I generated comprehensive file lists in a ‘.csv’ file within each folder, providing essential details about the contents to guide the creation process. Then I added tags and categories based on the content of the educational materials. Furthermore, recognizing the importance of visual engagement, I created relevant images for each article to complement the written content and enhance user engagement.

6- Организация файлов:
Для оптимизации процесса создания контента я организовал полученные файлы в подкаталоги в предварительной подготовке к созданию эффективных статей. Кроме того, я создал полные списки файлов в файле ".csv" в каждой папке, предоставляя важные сведения о содержимом для направления процесса создания. Затем я добавил теги и категории на основе содержания учебных материалов. Кроме того, осознавая важность визуального вовлечения, я создал соответствующие изображения для каждой статьи, чтобы дополнить письменный контент и повысить вовлеченность пользователей.

7- Contents Creation:
Using ChatGPT
After organizing the educational materials and preparing the necessary metadata, the next step was the creation of articles. By collecting pertinent details from the generated files in the last step, I utilized ZennoPoster to automate articles creation process. Randomized prompts using Spintax were sent to ChatGPT. Through this strategic integration of automation tools and AI, I ensured a steady stream of high-quality topics in shortest time.

7- Создание контента:
После организации учебных материалов и подготовки необходимых метаданных следующим шагом было создание статей. Собирая соответствующие детали из созданных файлов на предыдущем этапе, я использовал ZennoPoster для автоматизации процесса создания статей. Случайные запросы с использованием Spintax были отправлены в ChatGPT. Благодаря этой стратегической интеграции инструментов автоматизации и ИИ, я обеспечил постоянный поток высококачественных тем за кратчайшее время.


8- Uploading Files and Posting Articles:
With the educational materials curated, topics created, and articles ready for dissemination, the final phase entailed uploading files and sharing content on the website. I automated the process of uploading files to a suitable sharing platform, such as archive.org (this was my choice since it was free and offered direct access to files). Through automated account creation and file uploading functionalities, I ensured a seamless and efficient upload process. Simultaneously, I utilized ZennoPoster to automate the posting of articles to a designated blogging platform, such as Blogger.

8- Загрузка файлов и публикация статей:
С учетом подготовленных учебных материалов, созданных тем и готовых к распространению статей, последний этап включал загрузку файлов и публикацию контента на сайте. Я автоматизировал процесс загрузки файлов на подходящую платформу для обмена файлами, такую как archive.org (это был мой выбор, поскольку это бесплатно и предлагало прямой доступ к файлам). Через автоматизированные функции создания аккаунтов и загрузки файлов я обеспечил беспрепятственный и эффективный процесс загрузки. Одновременно я использовал ZennoPoster для автоматизации публикации статей на определенной платформе для блогов, такой как Blogger.


What I learned from this experience:
  • Do research and always test, you will never know what you will discover.
  • Strategic automation, and innovative problem-solving yielded invaluable insights and outcomes.
  • ZennoPoster is not just a browser automation tool, it is the Swiss Army Knife for content creation
Что я узнал из этого опыта:
  • Проводите исследования и всегда тестируйте, вы никогда не знаете, что вы обнаружите.
  • Стратегическая автоматизация и инновационное решение проблем дали ценные знания и результаты.
  • ZennoPoster - это не просто инструмент для автоматизации браузера, это швейцарский нож для создания контента.

Attached Templates (editable)
  1. ChatGPT.zp : Automate sending prompts to ChatGPT and getting responses using ZennoPoster.
  2. Blogger-Autoposter.zp: Automate posting to Blogger using ZennoPoster
 

Вложения

Последнее редактирование модератором:

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