Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 2
Ir a la página Anterior  1, 2
 
Extraer Datos HTML
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
Aqui teneis un ejemplo sencillo:

import urllib
import re
import sys
import string

import requests
from bs4 import BeautifulSoup
from lxml.html.soupparser import fromstring

#partnum = "codigo_del_articulo"

partnum = str(sys.argv[1])

url = "http://www.paginaweb.com/products/" + partnum
htmlfile = urllib.urlopen(url)
htmltext = htmlfile.read()

bs = BeautifulSoup(htmltext,"html.parser")
salida = bs.find('title').get_text()

salida2 = salida.lstrip()
print salida2
 

 



 
arubioc - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
arubioc escribió:  
Aqui teneis un ejemplo sencillo:

...que son estos ?
import urllib
import re
import sys
import string
    
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Web Scraping 
 
Buenas a todos, me he puesto con el tema del Web Scraping con gambas pero no acaba de funcionar correctamente la extracción y no acabo de ver el problema, no se si es porque la web tiene algún sistema para evitar este tipo de spider o es que no lo realizo correctamente.

Os paso la url ya con un filtro predefinido como ejemplo: https://www.infojobs.net/jobsearch/...d=form_relaunch

En la visualización del resultado lo he ejecutado tal como ha comentado jsban utilizando gb.net.curl y extrae el código del reponse pero creo que el sistema que han desarrollado hace una recirección en algún momento para mostrar realmente los resultado con los parámetros.

Alguna idea de como podría hacer esto con los filtros que he adjuntado?


Gracias por la ayuda.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
Buenos días, calcena

Para ese tipo de consultas, existe una API que te permite realizarlas con total seguridad y bajo sus estándares. Esta API está diseñada para que cualquiera pueda crear su aplicación de escritorio, web, Android o IOS con totales garantías.

https://developer.infojobs.net/docu...ist/index.xhtml

Si bien es cierto que para integrarla en gambas necesitarás usar componentes XML o JSON, además de las clases para obtener y enviar las consultas y respuestas, no tendrás que devanarte los sesos en analizar una página web para extraer los datos del código HTML. Esta es la forma correcta al 100%, salvo que la información que deseas obtener no lo proporcione la API.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
jguardon escribió:  
Buenos días, calcena

Para ese tipo de consultas, existe una API que te permite realizarlas con total seguridad y bajo sus estándares. Esta API está diseñada para que cualquiera pueda crear su aplicación de escritorio, web, Android o IOS con totales garantías.

https://developer.infojobs.net/docu...ist/index.xhtml

Si bien es cierto que para integrarla en gambas necesitarás usar componentes XML o JSON, además de las clases para obtener y enviar las consultas y respuestas, no tendrás que devanarte los sesos en analizar una página web para extraer los datos del código HTML. Esta es la forma correcta al 100%, salvo que la información que deseas obtener no lo proporcione la API.

Saludos



Muchas gracias por la inestimable ayuda, no había caído en consultar si existían API para lo que buscaba.
Aunque creo que el filtrado que necesito no lo voy a poder conseguir por las APis así que entonces no tendré ninguna otra forma de hacerlo.
Alguna idea, la cuestión es poder filtrar por población, y por alguna otra cosa más,  (según el buscador: programador   p.e)

Saludos.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
calcena escribió:  

Aunque creo que el filtrado que necesito no lo voy a poder conseguir por las APis así que entonces no tendré ninguna otra forma de hacerlo.
Alguna idea, la cuestión es poder filtrar por población, y por alguna otra cosa más


Mira si puedes extraer la mayor parte de la información que necesitas directamente desde la API. Posteriormente puedes usar otro tipo de filtrado (ya trabajando con esos datos obtenidos, usando funciones de gambas) para obtener u ordenar esos resultados, resultando mucho más fácil. Es decir, si no puedes hacerlo en un paso, hazlo en dos.

No puedo ser más concreto sin conocer exactamente las necesidades, pero yo lo enfocaría así, en principio.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
jguardon escribió:  
calcena escribió:  

Aunque creo que el filtrado que necesito no lo voy a poder conseguir por las APis así que entonces no tendré ninguna otra forma de hacerlo.
Alguna idea, la cuestión es poder filtrar por población, y por alguna otra cosa más


Mira si puedes extraer la mayor parte de la información que necesitas directamente desde la API. Posteriormente puedes usar otro tipo de filtrado (ya trabajando con esos datos obtenidos, usando funciones de gambas) para obtener u ordenar esos resultados, resultando mucho más fácil. Es decir, si no puedes hacerlo en un paso, hazlo en dos.

No puedo ser más concreto sin conocer exactamente las necesidades, pero yo lo enfocaría así, en principio.

Saludos


Te lo compro!!!, veo muy correcta la lógica de implementación que me comentas. Atacar el problema dividiéndolo en varios puntos (Dīvide et īmpera).
Ahora bien, te comento la idea concreta (especificaciones funcionales) para ver si me puedes dar el enfoque orientado a componentes GAMBAS.

Mi idea es hacer un spider/crawler para poder explotar los datos de la página infojobs

1- Apoyándome en persistencia dB MySql obtener un mínimo de información parametrizable de los datos a obtener (según la api se debería atacar a un gran conjunto de datos).
Por ejemplo-> Buscar ofertas de Programador en la zona de Barcelona. Cómo esto quizás no lo contempla la API sólo se podría buscar entiendo por Programador ??? aunque tampoco se si esto lo permitirá.

2- Una vez se tiene el groso de datos extraídos y con persistencia en tabla, realizar querys de filtrado para desechar las tuplas no válidas.
Apoyado en una persistencia en tabla, tener los filtros deseados: Población, fecha de inscripción, salario.
Otra opción sería realizar el filtrado del objeto devuelto mediante algoritmo interno y solo pasar a persistencia los datos finales.

3 - Presentar un listado con los resultados en un grid con la opción de tener en un campo el hiperenlace que nos lleve a la oferta concreta, sabiendo que ésta cumple con los requisitos de filtrado para nuestro interés.

Como verás el punto que más me preocupa es el punto 1 ya que la API la veo muy enfocada a un usuario concreto con unas aplicaciones dadas de alta, enfocada a sus preferencias (cosa que puede variar), aunque tengo que analizar más a fondo las APIs veo que han expuesto unos servicios muy abstractos y genéricos.
Cualquier idea o planteamiento será bienvenido.

Saludos y muchas gracias por compartir vuestros conocimientos.
 



 
última edición por calcena el Sabado, 09 Febrero 2019, 11:38; editado 1 vez 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
calcena escribió:  
jguardon escribió:  
calcena escribió:  

Aunque creo que el filtrado que necesito no lo voy a poder conseguir por las APis así que entonces no tendré ninguna otra forma de hacerlo.
Alguna idea, la cuestión es poder filtrar por población, y por alguna otra cosa más


Mira si puedes extraer la mayor parte de la información que necesitas directamente desde la API. Posteriormente puedes usar otro tipo de filtrado (ya trabajando con esos datos obtenidos, usando funciones de gambas) para obtener u ordenar esos resultados, resultando mucho más fácil. Es decir, si no puedes hacerlo en un paso, hazlo en dos.

No puedo ser más concreto sin conocer exactamente las necesidades, pero yo lo enfocaría así, en principio.

Saludos


Te lo compro!!!, veo muy correcta la lógica de implementación que me comentas. Atacar el problema dividiéndolo en varios puntos (Dīvide et īmpera).
Ahora bien, te comento la idea concreta (especificaciones funcionales) para ver si me puedes dar el enfoque orientado a componentes GAMBAS.

Mi idea es hacer un spider/crawler para poder explotar los datos de la página infojobs

1- Apoyándome en persistencia dB MySql obtener un mínimo de información parametrizable de los datos a obtener (según la api se debería atacar a un gran conjunto de datos).
Por ejemplo-> Buscar ofertas de Programador en la zona de Barcelona. Cómo esto quizás no lo contempla la API sólo se podría buscar entiendo por Programador ??? aunque tampoco se si esto lo permitirá.

2- Una vez se tiene el groso de datos extraídos y con persistencia en tabla, realizar querys de filtrado para desechar las tuplas no válidas.
Apoyado en una persistencia en tabla, tener los filtros deseados: Población, fecha de inscripción, salario.
Otra opción sería realizar el filtrado del objeto devuelto mediante algoritmo interno y solo pasar a persistencia los datos finales.

3 - Presentar un listado con los resultados en un grid con la opción de tener en un campo el hiperenlace que nos lleve a la oferta concreta, sabiendo que ésta cumple con los requisitos de filtrado para nuestro interés.

Como verás el punto que más me preocupa es el punto 1 ya que la API la veo muy enfocada a un usuario concreto con unas aplicaciones dadas de alta, enfocada a sus preferencias (cosa que puede variar), aunque tengo que analizar más a fondo las APIs veo que han expuesto unos servicios muy abstractos y genéricos.
Cualquier idea o planteamiento será bienvenido.

Saludos y muchas gracias por compartir vuestros conocimientos.




Como las prisas no son buenas, he examinado a conciencia las posibilidades de las API que tienen publicadas y he encontrado justo lo necesario:

GET https://api.infojobs.net/api/7/offe...racion-empresas

Creo que esto se adaptaría muy concretamente a lo que necesito.

Ahora me toca lidiar con el componente gb.net.xml a ver si me salgo con la mía de la correcta utilización.

Muchas gracias por todo.

Si alguien  tiene un ejemplo de trabajo con este componente sobre un response en Json, agradecido os quedo de antemano.

Saludos.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
Buenas de nuevo, bueno pues la cosa no parece tan sencilla, estoy indagando la forma de autenticarse y creo que Infojobs no acaba de aclarar nada el cómo. Aunque sí nos podemos autenticar de dos formas (Básica y OAuth2) creo que no encuentro la forma.

Según su docu: https://developer.infojobs.net/docu...uth/index.xhtml
Por más que testeo lo que indican en ningún caso puedo llegar a visualizar resultados.

No se si alguien sabe algo al respecto sobre esto, yo estoy testeando con Soap-UI para poder ver cómo realizar la llamada REST.

Saludos y gracias.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Extraer Datos HTML 
 
Aquí un ejemplo de autenticación por metodo POST. Ve si te sirve de algo para tu portal web.

https://foro.gambas-es.org/viewtopic.php?f=5&t=5817

Saludos.
 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Reporte HTML Base Datos chen_08 Aplicaciones/Fragmentos de Código 12 Viernes, 26 Marzo 2010, 18:44 Ver último mensaje
Cubel
No hay nuevos mensajes ¿Como Extraer Datos De Un Datagrid? mber Bases de Datos 3 Viernes, 06 Abril 2012, 19:01 Ver último mensaje
jguardon
No hay nuevos mensajes Impresión HTML: Generador De Listados HTM... shordi Aplicaciones/Fragmentos de Código 7 Martes, 02 Julio 2013, 08:50 Ver último mensaje
shordi
No hay nuevos mensajes Extraer Datos A Excel LibreOffice calcena General 10 Viernes, 13 Octobre 2017, 08:57 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron