Парсер веб-страниц на Python

Для успешного парсинга страниц достаточно двух инструментов - urllib и BeautifulSoup. Первый обычно доступен сразу после установки python, второй легко можно найти в интернете - http://www.crummy.com/software/BeautifulSoup/bs3/download/

Пример

>>> from BeautifulSoup import BeautifulSoup
>>> import urllib
>>> f = urllib.urlopen('http://my.site') # Открываем сайт, который будем парсить
>>> soup = BeautifulSoup(f.read()) # Считываем его и одновременно закидываем в BeautifulSoup
>>> my = soup.findAll(name='div', attrs={'class': 'news'}) # Ищем все div`ы с классом 'news'
>>> for m in my:
... print m # Выводим их

Результат, например, может быть следующий (если найден только один div):

[u'Содержание статьи 1.']

По шагам

<span>1</span>. Качаем BeautifulSoup.tar.gz, который лежит в корне.

<span>2</span>. Распаковываем gz, затем tar.

<span>3</span>. Копируем в папку (желательно без русских символов и пробелов).

<span>4</span>. Устанавливаем:

 Нажимаем Ctrl+R
 cmd
 cd C:\BeautifulSoup-3.2.1
 python setup.py install

<span>5</span>. Должно успешно установиться. Теперь можем испытать скрипт. Заходим в python:

>>> from BeautifulSoup import BeautifulSoup
>>> import urllib
>>> f = urllib.urlopen('http://my.site') # Открываем сайт, который будем парсить
>>> soup = BeautifulSoup(f.read()) # Считываем его и одновременно закидываем в BeautifulSoup
>>> my = soup.findAll(name='div', attrs={'class': 'news'}) # Ищем все div`ы с классом 'news'
>>> for m in my:
...    print m.findAll(text=True) # Выводим их

<span>6</span>. В результате должны были получить содержимое всех div c классом news.

django