Trabajo con HTML

Iniciado por xAnubiSx, 11 Septiembre 2008, 02:44 AM

0 Miembros y 1 Visitante están viendo este tema.

xAnubiSx

Buenas, mi consulta es:
Hay alguna manera de obtener el código fuente de una web?

o mas practico seria poder capturar los tags por ejemplo " id='Nombre' ".



Espero que se entienda.

Gracias

seba123neo

si se puede obtener el codigo de una web y hay un monton de formas con controles o con codigo directo...con controles hablo del control Inet que con una sola linea de codigo sacas el fuente, o con el control webbrowser tambien con una linea de codigo...y desde codigo lo podes hacer con las api's de la libreria WinInet , con la Microsoft HTML Objetc Library y hasta con la Libreria de Microsoft XML....busca por el foro que ya se hablo de todo esto...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

xAnubiSx

Algun link para ir chekeando porque estoy buscando en google, y aquí pero no encuentro mucho de como utilizar HTML Object Library... :S

con el inet, probe pero no sirve no se porque pero en una página saca cualquier cosa, y el webbrowser tarda mucho xq carga todas las imágenes y cosas por el estilo :S

seba123neo

#3
esta es una:

Código (vb) [Seleccionar]
Option Explicit
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Private Const IF_FROM_CACHE = &H1000000
Private Const IF_MAKE_PERSISTENT = &H2000000
Private Const IF_NO_CACHE_WRITE = &H4000000
Private Const BUFFER_LEN = 256

Public Function CodigoWeb(Pagina As String) As String
Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String
Dim hInternet As Long, hSession As Long, lReturn As Long
hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
If hSession Then hInternet = InternetOpenUrl(hSession, Pagina, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
If hInternet Then
iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
sData = sBuffer
Do While lReturn <> 0
iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
sData = sData + Mid(sBuffer, 1, lReturn)
Loop
End If
iResult = InternetCloseHandle(hInternet)
CodigoWeb = sData
End Function

Private Sub Form_Load()
MsgBox CodigoWeb("http://www.google.com.ar")
End Sub


y con el Inet proba esto:

Codigo Fuente Web Inet

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

s E t H

lo podes hacer con winsock

conectas al 80 y le mandas

http://ad.yieldmanager.com/imp?Z=468x60&s=289177&_salt=1519531667&B=10&u=http%3A%2F%2Fforo.portalhacker.net%2Findex.php&r=0
Citar
GET / HTTP/1.0
Host: google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Accept: */*
Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7


claro que poniendo los datos que necesites
entre linea y linea se usa vbcrlf y al final dos seguidos
te va a responder algo como

CitarHTTP/1.x 200 OK
Cache-Control: private, max-age=0
Date: Thu, 11 Sep 2008 04:37:42 GMT
Expires: -1
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Server: gws
Content-Length: 2579
<html>etc</html>
le scas la cabecera http y listo

xAnubiSx

Cita de: seba123neo en 11 Septiembre 2008, 03:36 AM

y con el Inet proba esto:

Codigo Fuente Web Inet

saludos.

eso anduvo de 10 ! gracias !

ahora me queda el reconocimiento de tags :D
Cita de: s E t H en 11 Septiembre 2008, 06:39 AM
lo podes hacer con winsock

conectas al 80 y le mandas

http://ad.yieldmanager.com/imp?Z=468x60&s=289177&_salt=1519531667&B=10&u=http%3A%2F%2Fforo.portalhacker.net%2Findex.php&r=0
Citar
GET / HTTP/1.0
Host: google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Accept: */*
Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7


claro que poniendo los datos que necesites
entre linea y linea se usa vbcrlf y al final dos seguidos
te va a responder algo como

CitarHTTP/1.x 200 OK
Cache-Control: private, max-age=0
Date: Thu, 11 Sep 2008 04:37:42 GMT
Expires: -1
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Server: gws
Content-Length: 2579
<html>etc</html>
le scas la cabecera http y listo

no entendí el procedimiento :S