Пишем web-проекты: исправляем битый HTML с помощью Tidy

При парсинге возникают совсем странные ошибки - одна из них - не валидный HTML. Т.е. с ошибками. Верстальщик забыл закрыть таблицу или body. Еще бывает что вставляют HTML из Word, а там тааккккооооой код.

Чтобы очистить HTML от мусора можно применять инструмент Tidy.

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

Скачать этот ...

more ...


Извлечение информации: XPath - язык для парсинга

XPath (XML Path Language) — язык запросов к элементам XML-документа. Но не спешите убегать, концепция XPath настолько получилась удачной что ее применяют при парсинге HTML

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

more ...

Извлечение информации: lxml - парсим XML и HTML

lxml это быстрая и гибкая библиотека для обработки разметки XML и HTML на Python. Она снабжена поддержкой языка запросов XML (XPath) и языка преобразования XML-документов (XSLT) и предоставляет API ElementTree.

Много где можно найти что ее называют "быстрой". Для обоснования этого прилагательного прошу ознакомиться со страницей - http://lxml.de/performance.html

Пример использования:

xml = '''<?xml version="1.0" encoding="UTF-8 ...
more ...

Извлечение информации: grab - фреймворк для веб-парсинга

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

Её основные функции:

  • Подготовка сетевого запроса (cookies, http-заголовки, POST/GET данные)
  • Запрос на сервер (возможно через HTTP/SOCKS прокси)
  • Получение ответа сервера и его первоначальная обработка (парсинг заголовков, парсинг cookies, определение кодировки документа, обработка редиректа (поддерживаются даже редирект в meta refresh тэге))
  • Работа с DOM-деревом ответа (если это HTML-документ)
  • Работа с формами (заполнение, автозаполнение ...
more ...

Извлечение информации: grab - фреймворк для веб-парсинга

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

Её основные функции:

  • Подготовка сетевого запроса (cookies, http-заголовки, POST/GET данные)
  • Запрос на сервер (возможно через HTTP/SOCKS прокси)
  • Получение ответа сервера и его первоначальная обработка (парсинг заголовков, парсинг cookies, определение кодировки документа, обработка редиректа (поддерживаются даже редирект в meta refresh тэге))
  • Работа с DOM-деревом ответа (если это HTML-документ)
  • Работа с формами (заполнение, автозаполнение ...
more ...

Извлечение информации: парсинг дат/времени

Извлечение информации из текста/web-страниц сопряжено с эвристиками. Одна из проблем, с которой сталкиваются разработчики - как парсить даты. Даты можно написать 100 и одним способом: tomorrow, а еще 4/4/80 или March 5th, 1980. И какой код писать, чтобы понять эти даты?

К счастью, код уже написан - https://github.com/bear/parsedatetime

Данная библиотека позволяет спарсить время в самых ...

more ...

Парсинг и Python: mechanize

Для сбора данных с Web-страниц в Python существует библиотека mechanize, автоматизирующая взаимодействие с Web-сайтами. Часто используемая совместно с ней библиотека Beautiful Soup помогает понять тот «почти-HTML» код, который обычно находится на Web-сайтах.

http://www.ibm.com/developerworks/ru/library/l-python-mechanize-beautiful-soup/

more ...

Python и интересный парсинг сайтов

Излечение информации со страниц может быть интересным. Рекомендуем к просмотру видео

more ...

Парсинг с помощью asyncio

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

В Python 3-ей версии появился стандартный модуль для создания асинхронных программ. И грех не воспользоваться данной возможностью.

Примером парсинга на asyncio может послужить эта статья http://olegwock.net/blog/python/byistryiy-parsing-na-python-s-pomoshhyu-asyncio/

more ...