Посты с тэгом lxml


Основы парсинга с помощью Python+lxml


Добрый день, уважаемые читатели.
В сегодняшней статье я покажу основы разбора HTML разметки страниц с помощью библиотеки lxml для Python.
Если вкратце, то lxml это быстрая и гибкая библиотека для обработки разметки XML и HTML на Python. Кроме того, в ней присутствует возможность разложения элементов документа в дерево. В статье я постараюсь показать, насколько просто ее применение на практике.

Читать дальше →


Grab — новый интерфейс для работы с DOM-деревом HTML-документа

Исторический экскурс


Ранее я уже писал на хабре о Grab — фреймворке для написания парсеров сайтов: раз, два, три, четыре. В двух словах, Grab это удобная оболочка поверх двух библиотек: pycurl для работы с сетью и lxml для разбора HTML-документов. Читать дальше →


[Из песочницы] Опыт ленивого переноса блогосайта с Drupal на статику при помощи Python

Сначала ответ на вопрос «А зачем переходить с Drupal на статику»


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

Единственное, что оправдывает в такой ситуации технологию CMS — это очень быстрое создание сайтов.

Фактически Drupal (да и другие CMS) используются в таких случаях просто как редактор той или иной публикации на сайте.

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

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

Читать дальше →


Документация по Grab — библиотеке для парсинга сайтов

Хабы: Python

Я ранее уже рассказывал на хабре о Grab — библиотеке для парсинга сайтов и о Spider — асинхронном модуле для парсинга. Рад сообщить, что я наконец-то дописал документацию по Grab. Я решил писать всё на русском языке т.к. на английском языке мне труднее выражать мысли. На деле писанины получилось гораздо больше, чем представлялось в начале, но я таки описал практически все функции библиотеки. Я решил просто вставить сюда, оглавление, кликайте на интересный раздел и читайте о возможностях Grab: Читать дальше →



Python / Grab — python библиотека для парсинга сайтов

Лет пять-шесть назад, когда я ещё программировал преимущественно на PHP, я начал использовать библиотеку curl для парсинга сайтов. Мне нужен был инструмент, который позволял эмулировать сессию пользователя на сайте, отсылать заголовки обычного браузера, давать удобный способ отсылки POST-запросов. Сначала я пытался использовать напрямую curl-расширение, но его интерфейс оказался очень неудобным и я написал обёртку с более простым интерфейсом. Время шло, я пересел на python и столкнулся с таким же дубовым API curl-расширения. Пришлось переписать обёртку на python.



Python / [Из песочницы] Бесплатная отправка SMS от своего мегафоновского номера с помощью python-скрипта

Для чего это нужно?


Стоит рассмотреть два уровня использования подобной возможности:
  1. Обычная, бытовая потребность отправки относительно длинного сообщения (если вы конечно не обладаете такой же скоростью печати на телефоне, как и на компьютере)
  2. Необычная, гиковская потребность получать рассылочную информацию там, где нет компьютера, смешанная с нежеланием платить за доставку этой информации лишние деньги

Обычное применение

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

Необычное применение

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


Python / [Из песочницы] Парсинг на Pуthon. Как собрать архив Голубятен

Статья описывает разработку скрипта на языке Python. Скрипт выполняет парсинг HTML-кода, составление списка материалов сайта, скачивания статей и предварительную очистку текста статьи от «посторонних» элементов. Используется библиотеки urllib (получение HTML-страниц), lxml (парсинг HTML-кода, удаление элементов и сохранение «очищенной» статьи), re (работа с регулярными выражениями), configobj (чтение файлов конфигурации).

Для написания скрипта достаточно базовых знаний языка Python, навыков программирования и отладки кода.

В статье даются пояснения по применению библиотек на примере составления списка публикаций С.М. Голубицкого, приведена ссылка на работающий скрипт.



Ух, еще ссылки

На Лёрнингпайтон очередной туториал, для тех кто хочет писать GUI на Python: PyLan - туду приложение на pygtk

Lython - компилятор lisp в питоновый байткод.

Обновился lxml теперь (1.2). Поддержка XInclude через ElementTree и куча багфиксов.