You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.6 KiB
Python

11 years ago
import mechanize, cookielib
from BeautifulSoup import BeautifulSoup
import re, os
11 years ago
from zipfile import ZipFile
11 years ago
def get_image(tag, folder):
if not os.path.isdir(folder):
os.makedirs(folder)
print image
filename = os.path.join(folder+'/'+url.split('/')[-1])
data = br.open(url).read()
br.back()
save = open(filename, 'wb')
save.write(data)
save.close()
11 years ago
return filename
11 years ago
br=mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
11 years ago
tozip = [];
11 years ago
#Individuales
r = br.open('http://www.etsit.upm.es/fotospromo85.html')
br.select_form(nr=0)
br.form['user']='entregadiplomas'
br.form['pass']='entrega2013'
r = br.submit()
r_tags = BeautifulSoup(r)
link = r_tags(text=re.compile(r'individual'))[0].parent['href']
galery = BeautifulSoup(br.open(link))
images_tags = galery(href=re.compile(r'pics/.{10}.jpg'))
folder = 'individuales'
for image in images_tags:
url = image['href']
11 years ago
tozip.append(get_image(url, folder))
11 years ago
# Ahora las de grupo
link=r_tags(text=re.compile(r'grupo'))[0].parent['href']
galery = BeautifulSoup(br.open(link))
images_tags = galery(href=re.compile(r'pics/.{10}.jpg'))
folder = 'grupo'
for image in images_tags:
url = image['href']
11 years ago
tozip.append(get_image(url, folder))
with ZipFile('fotos-85.zip', 'w') as myzip:
for i in tozip:
myzip.write(i)