Извлечение информации: 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 ...

Извлечение информации: скачиваем список ссылок с помощью asyncio

Порой возникают рутинные задачи, которые не хочется делать руками. Примером такой задачи может являться - скачать множество страниц по ссылкам. Если 5 ссылок еще вручную сохранить можно, а если их 1000? или 6250, как было в моем случае.

На Python эту задачу можно с помощью модуля asyncio и aiohttp.

Вот такой код можно написать за пару минут:

import asyncio
import aiohttp ...
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 ...