Last active
October 14, 2015 02:17
-
-
Save gaspardzul/4d7b47efcb5d5d37827f to your computer and use it in GitHub Desktop.
Ejemplo de cómo utilizar webscraping utilizando PyQuery
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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