There are very few things that you cannot do with mechanize plus BeautifulSoup.
The further processing of the images can be done with pytesser, I however have not experience there. It would be interesting to have an advise from a knowledgeable person in Python OCR stuff.
import mechanize, BeautifulSoup
browser = mechanize.Browser()
html = browser.open("http://www.dreamstime.com/free-photos")
soup = BeautifulSoup.BeautifulSoup(html)
for ii, image in enumerate(soup.findAll('img')):
_src = image['src']
if str(_src).startswith('http://') and str(_src).endswith('.jpg'):
print 'Storing this image:', _src
data = browser.open(_src).read()
fl = 'image' + str(ii) + '.jpg'
with open(fl, 'wb') as f:
f.write(data)
f.closed
mechanize,requestsorurllib2?