Skip to content

Instantly share code, notes, and snippets.

@gaspardzul
Last active October 14, 2015 02:17
Show Gist options
  • Save gaspardzul/4d7b47efcb5d5d37827f to your computer and use it in GitHub Desktop.
Save gaspardzul/4d7b47efcb5d5d37827f to your computer and use it in GitHub Desktop.
Ejemplo de cómo utilizar webscraping utilizando PyQuery
# coding=utf-8
__author__ = 'gaspar'
#Ejemplo de Web Scraping utilizando PyQuery
# Este scrpit tiene 3 ejemplos
"""
1. Consulta de divisas
2. Descarga de articulos de tecnilogía de la BBC Español
3. Descarga de Wallpapers de Microsoft.
Este Scrpit tiene objetivos estrictamente educativos.
"""
from pyquery import PyQuery as pq
import requests
# ejemplo consulta valor del peso mexicano
print("---- ejemplo de consulta de divisa ----")
jquery = pq(url="http://www.cambiodolar.mx/") #obtenemos todo el html y lo asignamos a la variable jquery
print(jquery('div.valor').text()) #imprime el texto del div que tiene la clase "valor"
print (jquery('p.day').text()) # imprime el texto de la etiqueta p que tiene la clase "day"
#obteniendo los aticulos de tecnología de la bbc español
print("--- ejemplo de consulta de articulos de tecnología de la BBC")
host = 'http://www.bbc.com'
jquery = pq(url="http://www.bbc.com/mundo/temas/tecnologia")
for elemento in jquery.items('a.hard-news-unit__headline-link'):
archi = open('articulo_%s.txt'%(elemento.text().encode('utf-8')),'w')
print('\n\n\n****** '+ elemento.text() +'*****')
archi.write(elemento.text().encode('utf-8')+'\n\n')
url_noticia = host+elemento.attr('href')
noticia = pq(url=url_noticia)
for p in noticia.items('.story-body__inner p'):
archi.write(p.text().encode('utf-8')+'\n')
print(p.text())
archi.close()
#descargar wallpapers de microsoft
#http://windows.microsoft.com/en-us/windows/wallpaper
def save_image_from_url(url,name):
f = open(name,'wb')
f.write(requests.get(url).content)
f.close()
url = 'http://windows.microsoft.com/en-us/windows/wallpaper'
jquery = pq(url=url)
imagenes = [element.find('a').attr('href') for element in jquery.items('.prodPaneImage')]
dirI = '/home/gaspardzul/Documentos/'
for imagen_url in imagenes:
print(imagen_url)
nombre = imagen_url.split('/')
nombre = nombre[nombre.__len__()-1]
save_image_from_url(imagen_url, nombre)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment