Парсинг на Python или как скачать обои в большом разрешении

В сегодняшней заметки мы с вами получим порядка 1500+ в высоком разрешении, позаимствовав из с некоторого сайта путем парсинга html страниц.

Немного поковырялся я в Python (больно понравился мне его синтаксис) и чтобы закрепить полученные начальные знания решил на нем небольшую прикладную задачку, которая сводится к взятию с сайта b000.ru всех картинок. Чуть ниже исходный код:
# -*- coding: utf-8 -*-
''' 
image parser 
(C) vredniy
vredniy.ru
'''
from urllib2 import Request, urlopen, URLError, HTTPError
from urllib import urlretrieve
import os
import sys
import re
import time

def doRoutine(url):
     req = Request(url)
     try: response = urlopen(req)

except HTTPError, e:
     print e.code
     return 0
except URLError, e:
     print e.reason
     return 0
else:
     print url
     data = response.read()

m = re.search('<div id="image_list">[\w\W]*?<h1>(.*?)</h1>[\W\w]+?<a href="(.+?)"><img[\w\W]*?alt="(.*?)"', data, re.IGNORECASE & re.UNICODE);
if m:
     downloadImage(m.group(2), m.group(3))


def downloadImage(imageUrl, imageName):
     urlretrieve(imageUrl, './images/' + imageName + '.jpg')
     print imageName + ' скачано'

def main(url):
     counter = 1
     while (counter < 1900):
     counter = counter + 1
     doRoutine("%s%d" % (url, counter))

if __name__ == "__main__":
url = 'http://b000.ru/view/'
main(url)

И в папочке images сохраняются все обои, правда занимает это продолжительное время
Теги:
Парсинг
Добавлено: 15 Сентября 2013 04:17:41 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...