Автоматизируй это! Как перестать тратить время на рутину и заставить компьютер работать

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

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

Конечно, программа не напишет за вас хорошую статью и не сможет полноценно общаться в комментариях – но часть задач снимет. Что более приятно – сейчас не требуется учиться много лет и штудировать сотни книг для автоматизации своих задач – достаточно освоить один язык программирования. И это не займет много времени.

Возможно, да и скорее всего, вы не станете крутым программистом, ваш код будет далек от идеала, и в Google работать вас не возьмут – но код будет РАБОТАТЬ, выполнять поставленную задачу, и приносить вам прибыль – да и вообще, вы столько денег отдали за свой компьютер, пускай отрабатывает.

Типичные примеры для автоматизации:

1. Сбор и систематизация информации.

Например, когда мне потребовалось найти сайты на движке Wordpress для SEO-задач, я написал несложный скрипт. Он собирает такие сайты, складывает в базу, и выполняет некоторые задачи с этими сайтами. Сейчас в базе более 2 млн сайтов и пополняется. Без автоматизации я бы не смог собрать такой объем.

Другой пример – отслеживание позиций своего (или чужого) сайта в поисковой системе. Скрипт работает на сервере, с регулярными интервалами собирает информацию и выдает мне отчет по требованию. Для этой задачи я бы мог пользоваться платными сервисами или бесплатными с ограничениями, но несложный скрипт экономит мне деньги и снимает все ограничения – а на сбор информации руками у меня бы уходило несколько часов в день.

2. Отслеживание чего-либо.

Например, пока был жив FaucetBox, любой владелец биткоин-крана мог добавить свой кран в каталог на сайте. Мой скрипт отслеживал список, и, если видел появившийся новый кран, проверял его периодичность и размер выплат, после чего обновлял таблицу уже на моем сайте (не на этом). Причем на моем сайте информация о кранах бралась с разных источников, и аккумулировалась в одном месте, в удобном для просмотра виде. Для домашней автоматизации подойдет сбор информации в таблицу Excel.

Отдельный скрипт так же по расписанию проверял доступность кранов – если кран переставал работать, он помечал его в таблице как неактивный, а через какое-то время вносил в черный список. Таким образом, я мог мониторить новые и существующие краны, и предоставлять другим людям актуальные списки (читай, заработок на рефералах и рекламе).

Еще пример отслеживания – бот для Vkontakte, Facebook, Twitter и т.п. К примеру, мой бот в твиттере отслеживал отписавшихся друзей, отписывался от них в отместку, следил за новостями по определенным тематикам и так далее.

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

3. Постинг куда-либо

Примеры:

Размещение статей и или картинок по расписанию, отложенный постинг своих материалов. Например, два скрипта – один качает красивые картинки с указанных вами ресурсов, складируя на вашем компьютере, другой на эти картинки накладывает умные мысли и постит по очереди в ваши группы в соцсетях.

Размещение ссылок на ваши сайты в Интернете (так называемое, Черное SEO) – прогон сайта по каталогам, форумам и т.п. За это ушлые челы берут деньги, но никто не мешает делать это самостоятельно (еще и брать за это деньги). Но Черное SEO это отдельная тема для разговора.

4. Торговля на бирже, ставки аукциона и т.п.

Тут все очевидно – ваш скрипт может получать информацию с биржи и создавать/отменять/исполнять отложенные ордера. Может делать заказы на Ebay или Amazon нужных вам товаров за нужную цену – для перепродажи например. Может сразу же выставлять на том же Ebay или Amazon – почему нет?

5.  Выкачивание материалов

Иногда находится ресурс с чем-то очень ценным – редкой музыкой, полезными статьями, книгами, инструкциями и так далее. Это может быть сайт или группа в соцсети. Если вам требуется информацию эту собрать и сохранить себе с какой-то целью – вы можете делать это руками (пока счет не пошел на сотни и тысячи), а можете написать несложный скрипт.

6. Расчеты, моделирование и испытание

Хотя многие расчеты можно сделать в том же Excel, не всегда это удобно. Например, для тестирования стратегии торгового робота для биржи я скачивал архивы сделок за 5 лет, и с помощью скрипта проверял стратегию – как если бы бот вошел на биржу 5 лет назад и играл по этой стратегии – и смотрел, как меняется благосостояние бота от месяца к месяцу, от года к году.


Реклама:


7. Любая другая рутинная задача, с которой вы столкнулись

С чего начать

Именно этот момент отпугивает многих людей – программирование считается сложным, требуется изучить устройство компьютера, битовую арифметику, протоколы передачи данных и многое-многое другое. Бррррр.

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

Какой язык программирования выбрать?

Тут буду безапелляционен – выбирайте Python  (ссылка на википедию, но там много лишних слов, на мой взгляд).

Почему именно так?

 1. Он универсален – работает как в Windows, так и в Linux, таким образом вы можете писать скрипты на своем компьютере а потом без переделки размещать на сервере, а так же практически любой пример, который вы найдете в интернете, будет у вас работать.

2. Его просто изучить – этот язык программирования изначально задуман простым для изучения, и, к тому же, по нему выпущено много обучающих книг и видеокурсов. Да и русскоязычных сайтов с форумами хватает.

3. Изначально при установке Python поддерживает много всего – как говорится, «батарейки в комплекте». Вам достаточно установить программу себе на компьютер, и начать программировать.

4. Если вам понадобится какой-то изысканный функционал – например, получать информацию с сайта, заполнять Excel, строить диаграммы, итог выгружать в PDF и отправлять результат по почте – вам достаточно установить дополнительные модули и просто запрограммировать действия в нужной последовательности – итоговый скрипт может занимать всего несколько строк кода!

5. Он современный и популярный, и быстро развивается – энтузиасты и сообщество создает готовые библиотеки для работы с соцсетями, для проведения научных расчетов, поддерживается создание графического интерфейса и многое другое – и всё это постоянно обновляется и улучшается.

6. Мало? Ну тогда еще упомяну, что многие крутые компании делают сайты на питоне – например, Instagram написан на этом языке программирования. Еще стоит упомянуть Dropbox, Disqus, сайт и багтрекер компании Mozilla. Этот язык активно используется в Google, Facebook, NASA и Reddit, так же служит скриптовым в программах для 3D графики – лидеров рынка Autodesk Maya, Blender и Houdin. Ну и, конечно же (дайте подмазаться к великим) – сайт bablofil.ru тоже написан на Python!

Как установить и начать использовать?

Тут всё просто – заходим на официальный сайт и скачиваем программу с самой высокой версией ( в моем случае, это версия 3.6.0, кнопка слева). В моем случае качается 32-битная версия программы, но вы можете скачать и 64-битную если планируете обработку больших объемов данных. В любом случае, какую бы вы версию не скачали, она должна работать. У меня, например, установлена и та, и другая – но это специально.

После скачивания запускаем, соглашаясь со всем

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

Ну а потом как обычно – далее, далее, далее, готово! На этом этапе вы установили интерпретатор Python и среду разработки – не вбивайте пока в голову, в общем, вы уже можете программировать.

Так же советую сразу установить модули, которые вам непременно пригодятся для работы в Интернете. Откройте командную строку, напишите там pip install requests и нажмите Enter

Теперь надо написать первую программу – проверить установку и себя

Запускаем программу IDLE – это как блокнот, в котором можно писать и запускать код.

У вас появится окно, в котором можно начинать писать программу. Начнем с простейшей проверки – заставим компьютер писать «hello world». Для того, что бы вывести на экран какую-то информацию используется команда print() – а внутри скобок, пишется то, что надо вывести.

Напечатайте в появившемся окне текст print("hello world") и нажмите F5 – программа предложит сохранить куда-то код, и, после того, как вы его сохраните, она запустится.

Программа отработала и вывела нам наш текст

Значит оно работает, но как-то  это не круто – зачем писать hello world?

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

Допустим, у вас изначально 10 000 рублей. Напишем эту простую программу.

Открываем снова IDLE, удаляем оттуда print("hello world") и пишем такой код:

# начальный капитал
amount = 10000
# количество лет
years_cnt = 20
# ежегодный процент
year_percent = 8

for i in range(years_cnt):
    amount += amount*(8/100)
    print("Прошло лет:", (i+1), ", на счету теперь: ", amount)

Должно получиться вот так:

Нажимаем F5, сохраняем (если попросит), и наслаждаемся результатом:

Неплохо так, за 20 лет сумма почти в 5 раз увеличилась. Еще бы знать какая будет инфляция :)

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

Вам, конечно, этот код кажется непонятным и странным, и совершенно неясно, что тут происходит – но это только в начале пути. Для дальнейшего изучения языка я бы посоветовал найти и прочитать книгу Марка Лутца «Изучаем Python» -какое-нибудь из последних изданий. Книга ТОЛСТАЯ, и пугающая – но вам не нужно читать её от и до – вам нужны, по сути, первые главы – что такое переменные, циклы, функции, посмотреть примеры и прорешать задачи. И всё – вы уже можете применять свои знания себе во благо.

Можно посмотреть видеокурсы – но тут советовать не буду, те, которые я видел, были либо для профи в других языках, либо содержали много ненужной информации для новичков. Но тем не менее посмотрите на youtube – обучающих роликов действительно много, ролики в топе – хорошие, но выбирайте те, в которых объясняют понятно для вас. Если даже он пропустит какой-то момент, ничего страшного – найдете информацию  в книге или в другом ролике.

Ну и я планирую в других статьях выкладывать образцы кода для заработка – в том числе и те, что указывал выше в примерах – и подробно объяснять, где что происходит.

Так что следите за новостями на сайте, изучайте новое, совершенствуйте старое, желаю вам удачи в ваших начинаниях! Ну, и как обычно, задавайте вопросы в комментариях, постараюсь ответить всем.

До новых встреч!

Тэги: