Программирование Python

Статья Автоматизированный сбор данных с сайта бесплатных объявлений с помощью Python

  • 7 534
  • 7
Решил я тут на днях попробовать парсить Авито. Наверное, раньше это была одна из излюбленных площадок для обучения парсингу. И, действительно, ещё примерно год назад можно было собирать данные с этой площадки особо не напрягаясь. Но, возможно, в связи с громкими утечками данных защита от парсинга значительно усилилась. Сначала появились временные телефоны, которые, насколько я понимаю, выделяются на виртуальной АТС. И если ещё какое-то время назад их можно было посмотреть без авторизации, то теперь это обязательное условие. Единственные, чьи телефоны остались доступны для просмотра, это телефоны организаций. Но, сами по себе они ценности не имеют, так как, по сути, доступны в любом онлайн справочнике.

000.png

Впрочем, авторизацию и даже двухфакторную аутентификацию с помощью SMS обойти вполне возможно. Вот только использование виртуальных номеров напрочь обесценивает эту затею. Так что Авито теперь парсить...

Статья Загрузка файла частями с помощью и без использования потоков в Python

  • 4 820
  • 0
Загрузка файлов из интернета — это всегда интересная задача. Конечно, в нынешнее время, когда скорости соединения переваливают за сотню мегабит в секунду, это вопрос не такой актуальный, как раньше. Мне стало интересно потестировать скорость загрузки файлов и изображений с разных сайтов с использованием Python.

000.jpeg

Может быть вы помните, был такой Download Manager. Впрочем, он и сейчас существует. Но когда-то его популярность просто зашкаливала. Еще бы. Позволяет качать файлы в несколько потоков. Докачивает файлы при обрыве соединения. Но, речь сейчас не о нем. Давайте попробуем реализовать многопоточную загрузку файлов с помощью Python и сравнить, сильно ли отличается скорость загрузки.

Что потребуется?

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

pip install requests...

Статья Методы обхода защиты от автоматизированного ПО в браузере Chrome под управлением Selenium в Python

  • 22 112
  • 9
При парсинге данных возникают ситуации, когда нужно получить доступ к сайту с помощью драйвера selenium. Так как на странице сайта в коде выполняются скрипты, которые добавляют в код данные, доступ к которым с помощью обычных запросов получить просто не получиться. Но, все может быть немного печальнее. К примеру, страница может находиться за CDN, такой как Cloudflare, с включенной проверкой браузера. В этом случае обычный драйвер selenium доступ к странице не получит, так как будет определено, что используется автоматизированное тестовое ПО. Но, даже в этих случаях выход есть. Давайте посмотрим, как можно обойти данную проверку с помощью отключения определенных опций в браузере, а также рассмотрим уже модифицированную версию драйвера для Chrome, в которой уже из коробки отключены данные опции. Но, обо всем по порядку.

prew.jpg

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

Статья Создаем приложение для хранения данных в базе sqlite с помощью Python и Qt. Часть 02

  • 6 111
  • 0
Данная статья является продолжением первой части (Создаем приложение для хранения данных в базе sqlite с помощью Python и Qt. Часть 01) в которой мы начали создавать приложение для хранения документов в формате HTML в базе данных sqlite с помощью Python и Qt Designer. И если в первой части мы рассмотрели код для взаимодействия с базой данных, то в этой части сосредоточимся на создании графического интерфейса и описания программной части для взаимодействия с его элементами.

000_02.png

Что потребуется?

Как устанавливать Qt Designer в операционных система мы рассмотрели в предыдущей статье. На всякий случай напомню как это делается, если вы первую часть не читали. Для установки Дизайнера в операционной системе Linux необходимо выполнить последовательно...

Статья Реализация метода HTTP-запроса «GET» с помощью socket в Python

  • 4 369
  • 0
Наверное все пользовались библиотекой requests и знакомы с ее методом GET. Давайте попробуем с помощью библиотеки socket реализовать модуль для выполнения простых функций данного метода, таких как: статус-код, заголовки и тело запроса.

000.jpg

Конечно же, мы не будем писать свою библиотеку requests, потому как в этом нет необходимости. Но, думаю, что нужно знать, как выполнить запрос к сайту или по определенному адресу с помощью socket. Иногда появляются такие задачи, где requests, просто не работает. Для примера, есть онлайн трансляции, адрес которых начинается не с привычных http или https, а с другого протокола rtmp. Если попробовать выполнить запрос указав такой адрес в requests, вы получите сообщение о том, что невозможно выполнить соединение потому, что схема адреса не соответствует стандартам. А вот с помощью сокетов это реализовать вполне по силам. Итак, давайте перейдем от теории к делу и откроем IDE, в которой вы...

Статья Создаем приложение для хранения данных в базе sqlite с помощью Python и Qt. Часть 01

  • 5 528
  • 0
В данной статье я попытаюсь создать приложение, которое позволяет сохранять в базу данных файлы в формате HTML. За все время, проведенное в интернете и поиске самой разнообразной информации натыкаешься на большое количество самых разнообразных страниц и статей, которые в данный момент прочитать не получается. В этом случае можно поступить по разному. Кто-то просто сохраняет ссылку в браузере, кто-то добавляет страницы в агрегаторы ссылок. Кто-то сохраняет страницы на жесткий диск, особенно, если это информация, которая может потребоваться в дальнейшем. Я отношусь скорее к последним. И за долгое время накапливается большое количество сохраненных страниц, в которых становиться довольно сложно ориентироваться. Поэтому я решил сделать небольшое приложение на Python, которое частично помогло решить мне эту задачу.

000_01.png

Для начала, почему формат HTML. Ну, во-первых, это просто удобно. В случае, если вам нужно что-то...

Статья Скачиваем вложения из постов группы ВК с помощью Python

  • 4 239
  • 5
На создание данного скрипта меня натолкнула работа с плейлистами m3u, когда я пытался создать чекер работоспособности ссылок. Процесс создания частично описан вот в этой статье. Тогда, для тестирования мне нужно было скачивать большое количество плейлистов. Таковые нашлись в ВК. Вот только скачивать руками все это было достаточно долго. Поэтому, на том этапе, я сделал простенький загрузчик и пользовался им. А позже решил сделать его немного более универсальным, ведь в ВК, к примеру, публикуются не только плейлисты во вложениях, но, также книги и изображения с разными полезными инструкциями. Конечно же, для его создания я использовал Python.

000.jpg

Принцип работы загрузчика довольно прост и использует VK API. Для того, чтобы можно было использовать его в более удобном виде, нашлась для этого библиотека. Таким...

Статья Кодирование/декодирование изображений и документов в формат base64 с помощью Python

  • 4 112
  • 0
Все, кто пользуется интернетом, так или иначе сталкивались с изображениями в формате base64. Но, обычно для пользователя это «столкновение» происходит незаметно, даже если он сохраняет такую картинку себе на жесткий диск. Браузер сам проводит необходимое декодирование. Другое дело, если вы используете какой-либо скрипт. В этом случае, перед сохранением изображения, его нужно декодировать. И тут уже задача полностью ложится на код и его возможности. Давайте посмотрим, как можно декодировать изображения в формате base64 с помощью Python, а также попробуем кодировать документы других типов, отличные от изображений.

000.png

Для начала давайте поймем, зачем нам это нужно. В случае с изображениями — это удобное встраивание в код. Уменьшение нагрузки на диск сервера, где лежит изображение. Так как происходит одно обращение к БД при загрузке страницы, а декодированием занимается браузер на стороне клиента. Ну и удобство хранения...

Статья Перехват запросов с веб-страницы с помощью selenium и browsermobproxy в Python

  • 8 770
  • 14
На поиск решения для данной статьи меня натолкнул вот этот вопрос пользователя (Статья - Немного об IPTV или проверка m3u с помощью Python. Часть 01). Изначально я подумал, что он просто не может найти ссылку, которая улетает в запросах для загрузки файла. Но, как оказалось, ему нужно не совсем это. А необходимо получать ссылку, в его случае это ссылка на загрузку плейлиста, в автоматическом режиме. Таким образом, использование инструментов разработчика автоматически отпало. Я покопался в интернете и нашел ответ на этот вопрос, который и послужил толчком для написания этого кода на Python.

000.jpg

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

Статья Змея в пакете. Создаем TLS соединение на Python

  • 5 511
  • 1
Logotype.jpg

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

План работы

Перед тем как перейти к работе, следует набросать план, по...