Advertisement
Guest User

Python

a guest
Mar 28th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. #! /usr/bin/env python
  2. # -*- coding: utf8 -*-
  3. import requests
  4. import bs4 as bs
  5. # Declaramos un array de paginas web donde extraeremos la data
  6. url_txt = ['https://www.baradent.cl/categorias/endodoncia',
  7. 'https://www.baradent.cl/categorias/cirugia',
  8. 'https://www.baradent.cl/categorias/desechables',
  9. 'https://www.baradent.cl/categorias/ortodoncia',
  10. 'https://www.baradent.cl/categorias/rehabilitacion',
  11. 'https://www.baradent.cl/categorias/pediatria-y-prevencion-40',
  12. 'https://www.baradent.cl/categorias/laboratorio-dental',
  13. 'https://www.baradent.cl/categorias/pediatria-y-prevencion-40',
  14. 'https://www.baradent.cl/categorias/laboratorio-dental',
  15. 'https://www.baradent.cl/categorias/pediatria-y-prevencion',
  16. 'https://www.baradent.cl/categorias/operatoria-y-estetica',
  17. 'https://www.baradent.cl/categorias/desinfeccion-y-esterilizacion',
  18. 'https://www.baradent.cl/categorias/periodoncia',
  19. 'https://www.baradent.cl/categorias/fresas-y-pulidores',
  20. 'https://www.baradent.cl/categorias/sildent']
  21. # Comenzamos a crear nuestro archivo csv
  22. filename = "ejemplo_archivo.csv"
  23. f = open(filename, "a")
  24. # Recorremos el array y extraemos los datos utilizando request y luego recorriendo el sitio web utilizando BeautifulSoup
  25. # Debemos indicar el objeto html de referencia que contiene la info a extraer
  26. for ss in url_txt:
  27. r = requests.get(ss)
  28. soup = bs.BeautifulSoup(r.content, 'html.parser')
  29. divs = soup.find_all("li", class_="item")#Este es el objeto que vamos a extraer información
  30. # recorremos cada uno de los objetos dentro de esta pagina según la herencia de objetos html que tengan
  31. for item in divs:
  32. imagen = item.div.a.img["src"]
  33. nombre = item.h2.a.text
  34. url_producto = item.h2.a["href"]
  35. format_nombre = nombre.replace(",", " ")
  36. precio = getattr(item.contents[9].find('span', attrs={'class': 'price'}), "text", 0).strip()
  37. f.write(u' '.join((format_nombre + ",", precio + ",", imagen + ",","Accesorios" + "\n")).encode('utf-8'))
  38. f.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement