Dewhole

Dewhole

На Пикабу
Дата рождения: 01 января 1996
поставил 12 плюсов и 10 минусов
Награды:
5 лет на Пикабу
681 рейтинг 181 подписчик 3 подписки 26 постов 1 в горячем

Как парсить авторизованно. python3, bs4, requests

Работу и принцип парсинга я подробно описываю в видео, здесь же акцентирую именно авторизацию.


Для авторизации нужно из кода отправить запрос на тот же url, на который отправляется запрос, если пытаться залогиниться в браузере.

Пример:


при попытке зайти на пикабу, во вкладке network появляется post запрос auth.php на адрес https://pikabu.ru/ajax/auth.php . Именно этот адрес нужно указывать в session, а сам session используется для того, что не просто авторизоваться, а выполнять все последующие запросы уже будучи авторизованным т.е. через session.post .

Как парсить авторизованно. python3, bs4, requests Парсер, Python, Программирование, Обучение, Видео, Длиннопост

Здесь же можно увидеть form data, данные, которые необходимы для успешной авторизации. Тут увы, прикручена капча, поэтому обойти её простыми путями не получится.

Но на большинстве сайтов, чаще всего требуется formdata = {"login": "ВАШЛОГИН", "password": "ВАШПАРОЛЬ"}

Как парсить авторизованно. python3, bs4, requests Парсер, Python, Программирование, Обучение, Видео, Длиннопост

сам же запрос на авторизацию выглядит так:


responce = session.post(link, data=data, headers=header).text


где, link - адрес пост запроса во вкладке нетворк.

data - данные form data в этом запросе (в хроме в самом низу)

headers - заголовки запроса (часто хватает user-agent)


После успешной авторизации остальные запросы выполняются так


r = session.get(url, headers=header, params=params)


если грубо то:

POST - для отдачи инфы на сервер.

GET - чтобы получить инфу С сервера.


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

Показать полностью 2 1

GIT и github. Теория, установка git, основные команды git

Git это распределённая система управления версиями.


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


Примерно так и работает  git, каждый раз, когда вы хотите что-то закоммитить, создаётся запись о файле в текущий момент и возможность откатиться к предыдущим версиям, сравнить их и т.д.


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


Но, кому всё это покажется сложным, ничего страшного, хоть знания git'а и указаны в каждой первой вакансии, но чаще всего от вас  требуется знать git pull/git push. Остальному научат/научитесь, ничего сложного в этом нет.

Показать полностью 1

Основы python

Очень часто желающие стать прогерами выбирают язык так, словно это имеет огромное значение.

Конечно, можно заранее выбрать для себя сферу и т.д. и изучать то, что заведомо станет вашим инструментом.

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

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


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


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


Итак в питоне основной момент это табуляция и строение кода, что является плюсом к читабельности. то есть нельзя начинать код на строке с пробела. А каждый блок кода обязательно отделяется табуляцией.


Если у вас много свободного времени, можете почитать the bite of python.

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

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

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


Следующая тема git, затем интернет-магазин и парсинг товаров для него.

Показать полностью 1

Ремонт клавиатуры (не работает несколько кнопок)

Прошу прощения у моих аж 39 подписчиков, но разделять аккаунты по видам деятельности слишком трудоёмко, поэтому если вам не интересны темы кроме IT, просто пропускайте пожалуйста =)


Есть у меня клавиатура, которая повидала и соки и кофе и проточную воду после них (благо, влагозащищенная).

Ей лет 10 уже точно, последние 2 года пылилась, вот дошли руки.


Вот она красавица A4tech X7

Ремонт клавиатуры (не работает несколько кнопок) Ремонт, Клавиатура, Видеоблог, YouTube, Видео, Длиннопост

У меня перестали работать клавиши 2, w, s, x и капс лок.


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

Ремонт клавиатуры (не работает несколько кнопок) Ремонт, Клавиатура, Видеоблог, YouTube, Видео, Длиннопост

Определяем дорожку неработающих клавиш и ищем место разрыва мультиметром в режиме прозвонки.

Ремонт клавиатуры (не работает несколько кнопок) Ремонт, Клавиатура, Видеоблог, YouTube, Видео, Длиннопост
Ремонт клавиатуры (не работает несколько кнопок) Ремонт, Клавиатура, Видеоблог, YouTube, Видео, Длиннопост

Когда место разрыва найдено,

Ремонт клавиатуры (не работает несколько кнопок) Ремонт, Клавиатура, Видеоблог, YouTube, Видео, Длиннопост

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

Ремонт клавиатуры (не работает несколько кнопок) Ремонт, Клавиатура, Видеоблог, YouTube, Видео, Длиннопост

Далее проверяем мультиметром, появился ли контакт и собираем всё обратно.

Нагляднее можно глянуть в видео.

Показать полностью 6 1

Учим CSS

По таймингам, конечно, пролетел, извините, приболел.


Сss, если по аналогии, где html это фундамент и стены, то css это отделка, облицовка то есть визуальная составляющая.


Конечно всё не охватить, за раз, поэтому дополнительно советую глянуть как применяются псевдоэлементы:

http://htmlbook.ru/css/cat/pseudoelement


И как верстается адаптив (@Media):

http://htmlbook.ru/css/value/media



Про JavaScript рассказывать не буду, скопировать код не сложно, совсем кратко объясню, когда покажу как делается проект на django.


Поэтому следующий видос будет по основам python, а затем серия полноценной темы ( сделаем сайт на wordpress, для которого спарсим товары с помощью python )


p.s. музыка в начале видео и в конце, также моя ^_^

Показать полностью 1

Учим HTML с нуля за 20 минут

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


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

И мной выдуманный "синдром учителя", всегда имеет место быть (это когда человек, который шарит в теме, не может нормально объяснить, потому что для него всё просто и очевидно)


p.s. музыка в начале видео и в конце, также написана мной. (гайды по фл студио, если вдруг кому по душе моя подача, тоже могу сделать)

Маршрутная карта WEB-разработчика и о поиске работы

Это последняя чисто теоретическая тема.

Она о логике моих дальнейших видео и постов или как сейчас модно "маршрутная карта веб-разработчика"

Почему веб? конечно же потому что я являюсь веб разработчиком. ну а более весомые причины это во первых:

1) она наиболее востребована, по ней больше вакансий.

2) Низкий порог вхождения, относительно других сфер

3) Получив опыт в вебе, гораздо проще перейти в интересную вам сферу.


Теперь разберём собственно маршрутную карту.

Для начала, если кто не в курсе: фронтенд это визуальная часть, а бэкенд это то, что происходит на сервере, базы данных, обработка запросов и т.д.

Независимо от предпочитаемой области, необходимо знать и уметь применять:

html, css, js (уровня скопировать код и запустить у себя кнопку/слайдер и т.д.)


ДЛЯ ФРОНТА Подтянуть js, выше, чем просто скопировать код.

-- Изучить какой-нибудь фреймворк, vue или react, я советую vue, потому что он очень быстро набирает популярность, он проще в освоении, и вакансий становится также, всё больше

и в целом, можно уже претендовать на должность.

-- Но как бонусом, можно освоить cms типа вордпресс.

-- И изучить php, хоть он я является скорее бекенд языком, но на нём написано больше половины сайтов, cms, и скорее всего, вам придётся с ним столкнуться.


ДЛЯ БЭКА:

-- выбираем любой понравившийся язык или тот, что в топах (а это значит больше вакансий) и пишем на нём калькулятор и парсер, чтобы изучить синтаксис и базовые библиотеки.

-- Затем пробуем написать простенькое веб-приложение на фреймворке выбранного вами языка и с этим можно идти на доски вакансий.

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


О поиске работы.

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

-- Многие компании до собеседования предлагают тестовое задание (что вообще ни разу не норма), если оно не очень сложное, делайте его, это прибавит веса вашему "портфолио" в git.

Если оно тяжелое и субъективно займёт больше нескольких часов, то можете попросить оплату вашего времени (99% что вам даже не ответят), а лучше вообще не связываться.

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

-- Ну и конечно же, если вам предложат какую-нибудь дичь, из разряда верстать странички за 10т. в месяц, и вам не нужно содержать семью, лучше согласитесь, опыт коммерческой разработки для кадровичек один из ключевых пунктов.  (а общаться, к сожалению, в 90% случаев вы будете с ними, и они будут решать, дойдёте вы до технического собеседования, или нет)


Завтра будет тема по html.

Показать полностью 1

Войти в IT (топ 10 вопросов от новичков)

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

"Быстрее всего эволюционируют всякие электрики и сантехники. Каждый приходящий на порядок умнее предыдущего и спрашивает: «что за идиот вам это делал?»"


По классике, сначала текст, потом видео.

ТОП 10 вопросов от новичков в IT:

1) какие есть сферы в IT?

-- Android, ios, gamedev, web, ux/ui, тестирование, админ б/д, сисадмин, продажники в it тоже есть, не обязательно быть разработчиком.


2) какой язык учить?

--  Тот что в топах по сфере, которую вы выбрали для себя. например для android разработки - java и котлин. для ios swift. для веба javascript , python, ruby, java и т.д.


3) Важен ли выбор языка программирования?

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


4) Не могу выбрать определиться со сферой, что делать?

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


5) На какой операционке нужно программировать?

-- Вначале неважно, но потом, лучше на Linux, потому что сервисы, сайты и всё что вы разрабатываете будет работать на серверах с установленной linux, поэтому во избежание конфликтов лучше разрабатывать в той же среде.


6) Какие курсы стоит пройти?

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


7) Какое портфолио должно быть для приёма на работу?

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


8) стоит ли идти на фриланс, сколько учиться, чтобы работать на фрилансе?

-- Смотря что вы называете фрилансом, если речь о фриланс биржах, то туда вообще не стоит соваться, если вы хоть немного цените свой труд. Если речь о самозанятости, самостоятельном поиске клиентов и т.д. то это прибыльно если найдёте клиентов. По времени через пару месяцев вполне реально самостоятельно делать несложные лендинги, интернет-магазины и т.д.


9) Нужен ли мощный пк?

-- Желательно. Я начинал с amd athlon ll и 2гб оперативки. работать в IntelliJ IDEA было нереально, vscode тормозил при открытом браузере. Часто писал код в свободное время в блокноте на работе, за компом, куда нельзя ставить программы без согласования. и ничего, главное желание.


10) Каким редактором кода пользоваться?

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

Вот видос, не сказать что я сильно заморачиваюсь, но всё же, времени требует.

В-общем за подписку спасибо, на вопросы отвечу. Всем добра!

Показать полностью 1
Отличная работа, все прочитано!