<MyRusakov.ru />

Профессиональная Web-разработка. Дизайн, код и автоматизация

Профессиональная Web-разработка. Дизайн, код и автоматизация

Это очень подробный курс из разряда "всё включено". Разбираются следующие темы: HTML, CSS, SCSS, JavaScript, PHP, SQL, Laravel, Nginx, PostCSS, npm, Vite, Vitest, Composer, PHPUnit, Prettier, Stylelint, ESLint, Pint, Larastan, Git, Agile, Scrum, Docker, Supervisord, Figma, Stitch AI, Confluence, Jira.

Рассчитан и на новичков, и на тех, кто уже знаком с основами, но хочет освоить полный цикл разработки.

Помимо самой теории, Вы увидите пример создания Web-проекта на 20 000 строк кода: от идеи и документации на Confluence через планирование на Jira, fullstack-разработку до деплоя на VPS.

Помимо уроков, курс содержит упражнения для закрепления знаний и финальное тестирование. А ещё Вы получите 5 полноценных Бонусных курсов: «GitLab под ключ», «Вёрстка сайта с нуля 2.0», «JavaScript с Нуля до Гуру 2.0», «PHP и MySQL с Нуля до Гуру 3.0» и «Laravel от А до Я».

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Парсинг сайта вакансии на Python. Часть 2. Отображение вакансий

Парсинг сайта вакансии на Python. Часть 2. Отображение вакансий

Доброго времени суток! В прошлой статье мы рассмотрели вариант парсинга вакансий с сайта в JSON, а в данной статье рассмотрим как этот **JSON-файл** с вакансиями можно отобразить на странице.

Файл с вакансиями в формате JSON:


[
    {
        "url": "https://{САЙТ}/vacancies/0001",
        "company": "Компания 1",
        "companyAbout": "Разработка CRM и EPR-систем",
        "title": "Web-разработчик",
        "description": "Описание вакансии с html-тегами",
        "salary": "От 150 000 до 300 000 ₽",
        "requiredSkills": "Бэкенд, Средний (Middle) • Git • PHP • ООП • Linux • SQL",
        "locationAndTypeOfEmployment": "Москва • Полный рабочий день • Можно удаленно"
    },
    {
        "url": "https://{САЙТ}/vacancies/0002",
        "company": "Компания 2",
        "companyAbout": "Международная металлургическая и горнодобывающая компания",
        "title": "Middle fullstack-разработчик",
        "description": "Описание вакансии",
        "salary": "не указана",
        "requiredSkills": "Разработка ПО, Средний (Middle) • PHP • Apache • MySQL",
        "locationAndTypeOfEmployment": "Новокузнецк, Новосибирск, Томск • Полный рабочий день"
    }
]

HTML-код и JavaScript-код, который отображает вакансии:


<!doctype html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
          integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

    <title>Вакансии</title>

    <style>
        img {
            width: 100%;
        }
    </style>
</head>
<body>

    <div id="root"></div>

    <script>
        // карточка вакансии
        function VacancyCard(
            { url, company, companyAbout, title, 
              description, salary, requiredSkills, 
              locationAndTypeOfEmployment }
        )
        {
            // шаблонные строки с интерполяцией
            return `
                <div class="card mb-2">
                    <div class="card-body">
                        <h4 class="card-title mb-2">${title}</h4>
                        <h6 class="card-subtitle mb-3 text-muted">${company} • ${companyAbout}</h6>

                        <div class="mb-2">
                            <div class="text-muted">Зарплата</div>
                            <span class="card-title">${salary}</span>
                        </div>

                        <div class="mb-2">
                            <div class="text-muted">Требуемые навыки</div>
                            <span class="card-title">${requiredSkills}</span>
                        </div>

                        <p class="card-text">${description}</p>
                    </div>
                </div>
            `;
        }

        function App(vacancies) {

            return `
                <div class="container my-4">
                    <h3 class="mb-3">Вакансии</h3>
                    ${vacancies}
                </div>
            `
        }


        const rootElement = document.getElementById('root');

        // читаем вакансии из файла и отображаем в элементе root
        fetch('parsed_vacancies.json')
            .then(res => res.json())
            .then(data => {
                const vacanciesHtml = data.map(VacancyCard).join('');
                rootElement.innerHTML = App(vacanciesHtml);
            });


    </script>


    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
            integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
            crossorigin="anonymous"></script>

</body>
</html>

Вот таким образом мы отобразили извлеченные ранее вакансии в интерфейсе пользователя.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.