taller-web-scraping-hirikilabs:napartheid
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaÚltima revisiónAmbos lados, revisión siguiente | ||
taller-web-scraping-hirikilabs:napartheid [2018/02/07 19:14] – iperugorria | taller-web-scraping-hirikilabs:napartheid [2018/02/07 19:48] – iperugorria | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | Objetivo: Descargar todas las páginas de todos los números del fanzine Napartheid. | + | Objetivo: Descargar todas las páginas de todos los números del fanzine Napartheid. |
Página web: www.napartheid.net | Página web: www.napartheid.net | ||
- | Características del fanzine: Fanzine publicado entre 1998-2001, con un total de 30 números. | + | |
- | Igor (ileturia) & Natxi (iperugorria@gmail.com) | + | Características del fanzine: Fanzine publicado entre 1998-2001, con un total de 30 números. |
+ | |||
+ | Igor (@ileturia) & Natxi (iperugorria@gmail.com) | ||
Fecha: Febrero 7, 2018 | Fecha: Febrero 7, 2018 | ||
+ | |||
+ | |||
Página de inicio del scraping: | Página de inicio del scraping: | ||
http:// | http:// | ||
- | En esa página hay links a las siguientes páginas donde cada una tiene 8 revistas, pero se ha observado que todas las revistas tenían urls específicas y además solamente funcionaban los links de 13, por lo que se han escrito las urls en una lista. | + | En esa página hay: |
+ | 1) links a 8 números de revista | ||
+ | 2) link a " | ||
+ | |||
+ | En lugar de ir recorriendo los " | ||
+ | |||
+ | Para cada revista, las imágenes de las páginas del fanzine están agrupadas de 12 en 12, con links " | ||
+ | |||
+ | En cada página de 12, se obtienen los links a cada página del fanzine mediante BeautifulSoup. | ||
+ | |||
+ | Se baja cada una de esa páginas. Cada una de ellas incluye una imagen, y obtenemos la url de la imagen mediante BeautifulSoup. Una vez tenemos la url de la imagen, la bajamos usando wget.download. Cada número de la revista irá en una carpeta que se irá creando. | ||
+ | |||
+ | < | ||
+ | import urllib2 | ||
+ | import re | ||
+ | import wget | ||
+ | import os | ||
+ | from bs4 import BeautifulSoup | ||
+ | |||
+ | for revista in [' | ||
+ | |||
+ | print revista | ||
+ | |||
+ | os.mkdir(revista) | ||
+ | |||
+ | url_revista = ' | ||
+ | |||
+ | pagina = 1 | ||
+ | |||
+ | page_error = False | ||
+ | |||
+ | while not page_error: | ||
+ | |||
+ | print ' | ||
+ | |||
+ | if pagina==1: | ||
+ | url_pagina='/ | ||
+ | else: | ||
+ | url_pagina='/ | ||
+ | |||
+ | print ' | ||
+ | |||
+ | try: | ||
+ | |||
+ | response = urllib2.Request(url_revista+url_pagina) | ||
+ | pagedata = urllib2.urlopen(response) | ||
+ | html = pagedata.read() | ||
+ | |||
+ | soup = BeautifulSoup(html, | ||
+ | links = soup.select(' | ||
+ | |||
+ | for link in links: | ||
+ | |||
+ | href = link.get(' | ||
+ | if not href.endswith(' | ||
+ | url_preview=url_revista+'/' | ||
+ | |||
+ | print ' | ||
+ | |||
+ | response2 = urllib2.Request(url_preview) | ||
+ | pagedata2 = urllib2.urlopen(response2) | ||
+ | html2 = pagedata2.read() | ||
+ | |||
+ | soup2 = BeautifulSoup(html2, | ||
+ | url_imagen = soup2.select(' | ||
+ | url_imagen=url_revista+url_imagen[2: | ||
+ | |||
+ | print ' | ||
+ | wget.download(url_imagen, | ||
+ | |||
+ | except: | ||
+ | page_error=True | ||
+ | pagina = pagina + 1 | ||
+ | </ |
taller-web-scraping-hirikilabs/napartheid.txt · Última modificación: 2018/02/07 19:56 por numeroteca