Глава 47. Разработка приложения в качестве практики.

В компьютерном классе пустовало.

Ведь сейчас время летних каникул. Студенты, готовящиеся к вступительным экзаменам, обычно не используют компьютеры.

Лу Чжоу отрегулировал кондиционер и сел. Он ввел стой студенческий идентификатор с паролем и вошел в компьютер.

Он занимался в этом кабинете, поскольку программы, написанные на Python, запускались на компьютерах с Linux. Поэтому продолжать учить Python нужно на операционной системе Linux.

К тому же его подержанный ноутбук слишком паршивый. Преобразовать статью в PDF файл заняло целую вечность. Когда он играл в LoL все уже сражались, когда он застрял еще у фонтана. Запуск второй операционной системы или виртуальной машины уже что-то невозможное.

— В учебнике все так подробно объяснено, но я не ожидал что в действительности все будет так сложно… Само собою, писать на бумаге и писать код — абсолютно разные вещи. Думаю, придется освоить это на практике.

Лу Чжоу впервые использовал компьютер с Linux. Почитав руководство, которое взял в библиотеке, парень наконец-то разобрался с системой.

Не удивительно, что Windows занял такую огромную долю рынка ОС. Даже новичок, впервые дотронувшийся до компьютера мог бы разобраться в нем.

Но Linux другой. Он главным образом основан на взаимодействие с командной строкой. Все нужно делать через клавиатуру. К счастью, школа установила дистрибутив с настольной средой, и поэтому парень все еще мог использовать мышку.

Конечно, имелись очевидные преимущества Linux. Он обладал превосходной адаптивностью и безопасностью, что делало его наиболее подходящим для серверов. Кроме того, если вы знакомы с командной строкой, эффективность в несколько раз выше, чем при использовании Windows. Поэтому многие компании перед наймом программистов спрашивают про умение пользоваться Linux.

Лу Чжоу ознакомился с основами работы в Linux. Он запустил программное обеспечение для Python, открыл учебник и с ошеломленным видом сидел перед компьютером.

— Слышал, что одно из применения Python — написание веб-краулеров (П.П. поисковый робот/бот). Если хочу проверить свои навыки, то лучше начать с этого. Но какой тип мне выбрать?

Парень задумался.

Краулер блогов на Weibo?

Краулер сообщений на Tieba?

Это довольно скучно.

Главное, что сканируемые данные бесполезны, и я даже не смогу их сохранить, если они слишком большие.

Внезапно у него защемило сердце. Он вспомнил мучительный опыт покупки билета на поезд домой. И не потому что его компьютер медленный, а потому что пользовательский интерфейс железнодорожного сайта ужасен.

— Использовать технологию краулинга, чтобы найти станции, поезда и информацию о билетах на сайте 12306… Вполне реально.

Подумав об этом, он больше не стал терять времени и сразу начал работать.

В конце концов, в качестве типичного примера в учебнике был шаблон программы на Python. В книге даже имелись разные методы анализа для различных ситуаций.

Конечно, 12306 — не обычный форумный сайт. Ориентироваться на этот сайт, будучи новичком, довольно сложно.

Однако для гения, как Лу Чжоу, изучившего весь учебник, это не являлось большой проблемой. Технически сам код на слишком сложен. Вся программа содержит менее 30 строк, что идеально для работы без ошибок.

Затем следует захват.

Парень скопировал URL адрес сайта в код и запустил скрипт. Он загрузил данные в созданный им файл электронной таблицы.

После этого кулер компьютера зашумел. Компьютер считывал данные, в темном диалоговом окне высветились строчки кода. Данные быстро сортировались.

Лу Чжоу посмотрел на заполняющуюся таблицу и откинулся на стуле.

— Питон очень удобен. Неудивительно, что так много экспертов рекомендуют его.

Он посмотрел на мигающие строки данных и почувствовал себя хакером.

Но это лишь иллюзия. Настоящий взлом совершенно другой. Это не незаконная деятельность — анализировать общедоступную информацию. В лучшем случае системный администратор разозлится, что кто-то использует пропускную способность сервера.

Читайте ранобэ Передовая Технологическая Система Учёного на Ranobelib.ru

Поэтому на многих «эгоистичных» веб-сайтах установлена защита против сканирования. Никто не мог проанализировать какую-либо информацию на них. Даже если бы кто-то смог, то проиндексированная информация была бы мусором. Другие менее продвинутые сайты могут отслеживать количество посещений и блокировать IP-адреса.

Но сайт 12306 бескорыстный. Огромный монополист даже не переживал о пользователях. Очевидно, что он не заботился и о ресурсах сервера. До тех пор, пока кто-то не положит им сервер, им плевать!

Глядя на данные о поездах, собирающиеся в таблице, Лу Чжоу задался вопросом, не сделать ли ему что-нибудь еще?

— Сделать сайт для покупки билетов? Излишне…

Внезапно в голове парня мелькнула мысль.

Что если…

Я сделаю приложения для покупки билетов?

Он подумал про свою идею и не мог сдержать своего волнения

Хотя есть много сторонних сайтов по покупки билетов, но приложений не так много. Если он сможет сделать хорошее приложение, то мог бы даже заработать на этом.

Лу Чжоу подумал о деньгах и внезапно загорелся. Его голова начала варить.

Технически очень трудно от начала и до конца самостоятельно сделать приложение. Это намного сложнее чем написать простую шаблонную программу, но это не невозможно. Он мог использовать систему для решения сложных вопросов. В конце концов, тратить баллы на покупку информации — тоже часть обучения.

Как только он завершит задание и откроет ветку искусственного интеллекта, это определенно пригодится.

Просто сервера могут быть дорогими. Даже счета на электричество и различные расходы на техническое обеспечение могут быть довольно затратными…

На его банковском счете меньше десяти тысяч юаней, и он ничего не мог поделать с этим…

Лу Чжоу сжал зубы и решил преодолеть эти проблемы.

Если я смог отказаться от полмиллиона юаней, я смогу сделать что угодно!

Даже если он провалится, то это будет просто практикой.

Поэтому парень остановил программу. Он не спешил менять код и для начала открыл Word, как и в случае со статьей, он начал с плана.

— Мне нужно анализировать данные по билетам в режиме реального времени. Требования к серверу будут очень большими, поэтому код должен быть максимально эффективным!

— Интерфейс можно сделать простым, но информация должна быть точной и подробной. Мне следует изучить другие приложения для бронирования билетов для ознакомления, но нельзя делать полностью идентичное… Нужно что-то оригинальное…

Лу Чжоу дописал до этого места и провел рукой по клавиатуре. Прилично подумав, он вновь начал печатать.

— Прежде всего, функция автоматической покупки билетов не нова. Многие другие браузеры имеют эту функцию.

— Но автоматическая покупка в автономном режиме… я еще не встречал такого.

Парень вспомнил прошлые зимние каникулы. Ему пришлось полчаса обновлять сайт, сидя в общежитии, прежде чем он успел забронировать билеты. Он чувствовал, что людям трудно отправиться домой на новый год.

Постоянное обновление сайта давало бы низкие шансы получить билеты, поскольку часть может быть билетами, которые вернули другие. Лу Чжоу не знал откуда придут билеты, но эту функцию можно рассмотреть.

Например, выбрав период времени и несколько поездов. Сервер автоматически обновит данные и отправит запрос, как только появится билет. Кажется, в нескольких программах поиска билетов, что он видел до сих пор, подобное все еще недоступно.

Кроме того, концепция не выглядит такой уж сложной для реализации.

Думая про это, парень посмотрел на настенные часы.

Сейчас три часа дня!

Лу Чжоу сохранил документ, затем поправил рукава и положил руки на клавиатуру.

— Работать! Работать!