Herramientas de usuario

Herramientas del sitio


taller-web-scraping-hirikilabs:napartheid

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
taller-web-scraping-hirikilabs:napartheid [2018/02/07 19:19] iperugorriataller-web-scraping-hirikilabs:napartheid [2018/02/07 19:56] (actual) numeroteca
Línea 1: Línea 1:
-Objetivo: Descargar todas las páginas de todos los números del fanzine Napartheid. +====== 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:
Línea 13: Línea 21:
  
 En lugar de ir recorriendo los "hurrengoa", como se ha observado que todas las revistas tenían urls específicas, y además solamente funcionaban los links de 13 de ellas, hemos escrito las urls en una lista. En lugar de ir recorriendo los "hurrengoa", como se ha observado que todas las revistas tenían urls específicas, y además solamente funcionaban los links de 13 de ellas, hemos escrito las urls en una lista.
 +
 +Para cada revista, las imágenes de las páginas del fanzine están agrupadas de 12 en 12, con links "hurrengoa". Cada página se llama "default.htm" y las siguientes "Page2.htm", "Page3.htm"... Se intentan bajar consecutivamente hasta que da error, en cuyo caso se pasará a la siguiente revista. 
 +
 +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.
  
 <code> <code>
Línea 46: Línea 60:
  try:  try:
  
- # Get URL 
  response = urllib2.Request(url_revista+url_pagina)  response = urllib2.Request(url_revista+url_pagina)
  pagedata = urllib2.urlopen(response)  pagedata = urllib2.urlopen(response)
  html = pagedata.read()  html = pagedata.read()
  
- # Get links 
  soup = BeautifulSoup(html, "html.parser")  soup = BeautifulSoup(html, "html.parser")
  links = soup.select('a')  links = soup.select('a')
  
  for link in links:  for link in links:
 +
  href = link.get('href')  href = link.get('href')
  if not href.endswith('default.htm') and not re.search('Page[1-9]\.htm',href):  if not href.endswith('default.htm') and not re.search('Page[1-9]\.htm',href):
  url_preview=url_revista+'/'+href  url_preview=url_revista+'/'+href
 +
  print '\t\t'+url_preview  print '\t\t'+url_preview
 +
  response2 = urllib2.Request(url_preview)  response2 = urllib2.Request(url_preview)
  pagedata2 = urllib2.urlopen(response2)  pagedata2 = urllib2.urlopen(response2)
  html2 = pagedata2.read()  html2 = pagedata2.read()
 +
  soup2 = BeautifulSoup(html2, "html.parser")  soup2 = BeautifulSoup(html2, "html.parser")
  url_imagen = soup2.select('img')[0].get('src')  url_imagen = soup2.select('img')[0].get('src')
  url_imagen=url_revista+url_imagen[2:]  url_imagen=url_revista+url_imagen[2:]
 +
  print '\t\t\t'+url_imagen  print '\t\t\t'+url_imagen
  wget.download(url_imagen,revista+'/'+url_imagen.split('/')[-1])  wget.download(url_imagen,revista+'/'+url_imagen.split('/')[-1])
 +
  except:  except:
 +
  page_error=True  page_error=True
  
  pagina = pagina + 1  pagina = pagina + 1
 </code> </code>
taller-web-scraping-hirikilabs/napartheid.1518027576.txt.gz · Última modificación: 2018/02/07 19:19 por iperugorria