Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #imgur.py lets you doenload all the pictures inside a recent gallery from a
- # certain category in imgur
- # usage: imgur.py <category> example: science
- import os, requests, bs4, sys
- if len(sys.argv)>1:
- category = sys.argv[1]
- os.chdir('C:\\Python36\\Scripts')
- url = 'https://imgur.com/search?q=' + category
- print(url)
- os.makedirs(category, exist_ok=True)
- res = requests.get(url)
- res.raise_for_status()
- soup = bs4.BeautifulSoup(res.text, "html.parser")
- fotos = soup.select('a[class="image-list-link"]')
- for i in range(10): #change the range to get into more Galleries
- #URL de la galleria
- basename = fotos[i].get('href')
- linkToGallery = 'https://imgur.com'+basename
- res2 = requests.get(linkToGallery)
- res2.raise_for_status()
- print('Desde la galleria %s' %linkToGallery)
- soup2 = bs4.BeautifulSoup(res2.text, "html.parser")
- #imagenes dentro de la galleria
- fotosInside = soup2.select('a img')
- if fotosInside == []:
- print('x x x No image found in this gallery')
- for i in range(len(fotosInside)):
- #link individual de cada foto
- linkInside = 'http:'+ fotosInside[i].get('src')
- res3 = requests.get(linkInside)
- res3.raise_for_status()
- imageFile = open(os.path.join(category, os.path.basename(linkInside)),'wb')
- print('- - - Descargando la imagen %s' %linkInside)
- for chunk in res3.iter_content(100000):
- imageFile.write(chunk)
- imageFile.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement