Page 1 of 2

LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Mon Aug 17, 2015 5:51 pm
by joseluisysturiz
Saludos, asi como suena, explico, una pagina web devuelve despues de solicitar unos datos, un listado de varias columnas por pantalla, es una "table", si le doy a la pagina web boton derecho y ver codigo fuente, puedo ver la informacion mostrada pero obviamente en HTML, necesito leer todos el listado fila, columna y llevar la data a una tabla nysql o a una dbf, eso seria transparente, lo que no tengo ni idea...es como acceder a esa data desde FWH, aca dejo un ejemplo de como se ve la data al mostrar codigo fuente..espero sus ayudas, sugerencias y aportes, desde ya...gracias y saludos... :shock:

Code: Select all  Expand view

<table cellspacing="0" cellpadding="3" rules="all" bordercolor="Black" border="1" id="dgModelUser" bgcolor="#CCCCFF" width="400"><tr bgcolor="#AAAADD"><td><font face="Verdana" size="1">Model</font></td><td><font face="Verdana" size="1">Type</font></td><td><font face="Verdana" size="1">Sub Type</font></td><td><font face="Verdana" size="1">Serial Nbr</font></td><td><font face="Verdana" size="1">Source</font></td></tr><tr>
<td><font face="Verdana" size="1">[b]BR380JG-1[/b]</font></td><td><font face="Verdana" size="1">  </font></td><td><font face="Verdana" size="1">  </font></td><td><font face="Verdana" size="1">1312</font></td><td><font face="Verdana" size="1">OTHER</font></td></tr><tr>
 


lo que esta en NEGRITA es la data que esta en cada fila y necesito extraer. Olvide comentar que la pagina esta en .aspx (modelinfo.aspx)

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 4:57 pm
by joseluisysturiz
Por favor denme chance de leer los aportes e ideas, jejeje...
nadie tendra aunque sea una idea vaga por lo menos que leer para ver si eso me ayuda.? cualquier luz dentro del tunel, aunque sea una luciernaga, pero que no vaya ser la del tren que viene, gracias, saludos... :shock:

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 4:59 pm
by cnavarro
Si tienes la cadena que devuelve, los valores parece que van siempre entre

size="1">1312</font>

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 5:32 pm
by joseluisysturiz
cnavarro wrote:Si tienes la cadena que devuelve, los valores parece que van siempre entre

size="1">1312</font>


Navarro, la linea repetitiva es esta, pero con diferentes valores, por pantalla termina es OTROS, tratare poner la imagen que me da por pantalla el html, el detalles es...como leo los datos.? saludos... :shock:

Code: Select all  Expand view

<tr><td><font face="Verdana" size="1">[b]BR380JG-1[/b]</font></td><td><font face="Verdana" size="1">  </font></td><td><font face="Verdana" size="1">  </font></td><td><font face="Verdana" size="1">1312</font></td><td><font face="Verdana" size="1">OTHER</font></td></tr>
 

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 6:38 pm
by joseluisysturiz
Esto es lo que veo por pantalla bajo HTML, necesito llevar la data de cada columna a una tabla, esa es la parte facil, la dificil y que no tengo ni idea de como hacer, es leer la data ya que tampoco veo el array que contiene la data, esto es una informacion que llega desde una empresa privada donde hago una consulta, obviamente tampoco tengo acceso a la DATABASE...

[img]
Image
[/img]

asi es como veo la data mostrada en la imagen anterior cuando le doy sobre la pagina web que me muestre el codigo fuente, eso solo es parte del codigo, ya que antes de eso tengo cualquier cantidad de codigo html y despues de los valores de la TABLE...lo que esta en cuadros rojos, es la data que necesito leer, en algunos casos puede estar vacia, espero algunas sugerencias si es que es posible hacer lo que necesito, gracias, saludos... :shock:

[img]
Image
[/img]

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 7:42 pm
by cnavarro
Puedes poner desde el principio hasta por los menos 5 o 6 filas de la tabla?

No hace falta

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 8:17 pm
by postinelli
yo hago algo asi

levanto el codigo html
luego busco la serie donde se insertan los datos y separo lo que me interesa
no se si es lo que buscas o si te sirve de algo


DEFINE DIALOG oDlg RESOURCE "CONSULTA_WEB_3" TITLE "VALIDA DATOS EN ANSES"

REDEFINE ACTIVEX oActiveX ID 10 OF oDlg PROGID "Shell.Explorer"
REDEFINE BUTTON ID 110 OF oDlg ACTION (VeoAnses(oActiveX:Document:Body:InnerHtml), oDlg:end() )

ACTIVATE DIALOG oDlg CENTERED ON INIT oActiveX:Do( "Navigate2", "http://servicioswww.anses.gov.ar/censite/" )

--------------------------
Function VeoAnses(cTextoHTML)

Local cResultado, Aux1

//MsgInfo(cTextoHTML)

if '<SPAN id=ctl00_ContentPlaceHolder1_lblNombre class=TextoNegroBold>' $ cTextoHTML
cResultado:=allTrim( substr( cTextoHTML, rat( '<SPAN id=ctl00_ContentPlaceHolder1_lblNombre class=TextoNegroBold>', cTextoHTML )+66,50 ))
cResultada:=allTrim( substr( cTextoHTML, rat( '(N de CUIL: ', cTextoHTML )+12,13 ))
Aux1:=cResultado
Aux1:=alltrim(substr( Aux1 , 1 , rat('(N de CUIL:',Aux1)-1 ) )
//MsgInfo('cResultado '+cResultado)
//MsgInfo('Aux1 '+Aux1)
nApeAnses=Aux1
nCUILAnses=cResultada
//MsgInfo(nCUILAnses)
endif
Retu

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 8:35 pm
by cnavarro
Prueba este codigo
El codigo Html da igual como lo pongas

Code: Select all  Expand view

#include "fivewin.ch"

#xcommand TEXT INTO <v> => #pragma __cstream|<v>:=%s

Function Main()

Local cCode
Local cHeader
Local nPosHeader  := 0
Local cDetalle
Local x
Local aTokensH    := {}
Local aTokensD    := {}
Local aTitulos    := {}
Local aValores    := {}
Local aFilas      := {}
Local cCad        := ""
Local n           := 0

TEXT INTO cCode
<table cellspacing="0" cellpadding="3" rules="all" bordercolor="Black" border="1" id="dgModelUser" bgcolor="#CCCCFF" width="400"><tr bgcolor="#AAAADD">
<td><font face="Verdana" size="1">Model</font></td>
<td><font face="Verdana" size="1">Type</font></td>
<td><font face="Verdana" size="1">Sub Type</font></td>
<td><font face="Verdana" size="1">Serial Nbr</font></td>
<td><font face="Verdana" size="1">Source</font></td></tr><tr>
<td><font face="Verdana" size="1">BR380JG-1</font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">1311</font></td>
<td><font face="Verdana" size="1">OTHER1</font></td>
<td><font face="Verdana" size="1">BR380JG-2</font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">1312</font></td>
<td><font face="Verdana" size="1">OTHER2</font></td>
<td><font face="Verdana" size="1">BR380JG-3</font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">1313</font></td>
<td><font face="Verdana" size="1">OTHER3</font></td>
<td><font face="Verdana" size="1">BR380JG-4</font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">1314</font></td>
<td><font face="Verdana" size="1">OTHER4</font></td>
<td><font face="Verdana" size="1">BR380JG-5</font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">1315</font></td>
<td><font face="Verdana" size="1">OTHER5</font></td>
<td><font face="Verdana" size="1">BR380JG-6</font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">1316</font></td>
<td><font face="Verdana" size="1">OTHER6</font></td>
<td><font face="Verdana" size="1">BR380JG-7</font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">  </font></td>
<td><font face="Verdana" size="1">1317</font></td>
<td><font face="Verdana" size="1">OTHER7</font></td></tr><tr>
ENDTEXT

cCode := StrTran( cCode, Chr(34), "'" )

nPosHeader  := At( "</tr>", cCode ) + 4
cHeader     := Left( cCode, nPosHeader )
cDetalle    := Right( cCode, Len( cCode ) - nPosHeader )

aTokensH  := hb_atokens( cHeader, "<td>" )
For x = 2 to Len( aTokensH )
    cCad  := ""
    cCad  := Right( aTokensH[ x ], Len( aTokensH[ x ] ) - At( "size='1'>", aTokensH[ x ] ) - 8 )
    cCad  := Left( cCad, At( "<", cCad ) - 1 )
    AAdd( aTitulos, cCad )
Next x
XBrowse( aTitulos )

aTokensD  := hb_atokens( cDetalle, "<td>" )
For x = 2 to Len( aTokensD )
    cCad  := ""
    cCad  := Right( aTokensD[ x ], Len( aTokensD[ x ] ) - At( "size='1'>", aTokensD[ x ] ) - 8 )
    cCad  := Left( cCad, At( "<", cCad ) - 1 )
    AAdd( aFilas, cCad )
    n++
    if n = Len( aTitulos )
       AAdd( aValores, aFilas )
       n := 0
       aFilas      := {}
    endif
Next x
XBrowser( aValores )

Return nil
 

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 8:45 pm
by joseluisysturiz
cnavarro wrote:Puedes poner desde el principio hasta por los menos 5 o 6 filas de la tabla?

No hace falta

Esto es largo y para rato, recuerda que la forma en que veo esta informacion es cuando le doy boton derecho sobre la web y le digo ver codigo fuente, algo que no es la idea lo haga el usuario, aca coloco desde el inicio del html hasta varias filas de la tabla, saludos... :shock:

Code: Select all  Expand view


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>WebForm1</title>
        <SCRIPT LANGUAGE="JavaScript">
        //Enter-listener
        if (document.layers)
           document.captureEvents(Event.KEYDOWN);
           document.onkeydown =
           function (evt) {
           var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
           if (keyCode == 13)   //13 = the code for pressing ENTER<BR>
        {
           document.Form1.btnModel.click();
           return false;
         }
        }
        </SCRIPT>
        <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body>
        <P align="center"><span id="lblhdr"><html><head><link rel="stylesheet" href="/commonfiles/includes/css/komatsu.css" /><link rel="stylesheet" href="/commonfiles/includes/css/Extranet_Style_Sheet.css" /><script>
        document.baseDir = "";
    </script></head><body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="white"><div id="header" x="123"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td rowspan="2"><img src="/commonfiles/images/common/shim.gif" height="1" width="20" /><a autoPath="true" href="/default.aspx"><img src="/commonfiles/images/common/logo.gif" border="0" width="92" height="17" /></a></td><td colspan="2" class="welcomeMessageText">Welcome <a autoPath="true" href="/northamerica/resources/userprofile/userprofile.aspx?custhdrftr=anything">Francisco Sandoval (User ID: fsandoval@mega-ca.com)</a></td></tr><tr><td align="left"><table border="0" cellpadding="0" cellspacing="0" width="200"><tr><td align="left" bgcolor="white" width="10"><img src="/commonfiles/images/common/yellowCornerStart.gif" width="10" height="20" /></td><td class="mainLabel" align="center" bgcolor="#FFCC00" width="180"><nobr>KAC</nobr></td><td align="right" bgcolor="white" width="9"><img src="/commonfiles/images/common/yellowCornerEnd.gif" width="9" height="20" /></td></tr></table></td><td class="mainLabel" align="right"><nobr><a href="/northamerica/default.aspx">
              Home
            </a> | <a href="/logoff">
              Logout
            </a> | <a href="/northamerica/resources/userprofile/userprofile.aspx?custhdrftr=anything">
              Profile
            </a> | <a href="/northamerica/resources/directory">
              Directory
            </a> | <a href="/northamerica/resources/feedback/default.aspx">
              Feedback
            </a> | <a href="/northamerica/resources/site_map/default.aspx">
              Site Map
            </a> | <a href="/northamerica/resources/search/simplesearch.aspx">
              Search
            </a> | <a href="/northamerica/resources/help/default.aspx">
              Help
            </a></nobr></td></tr></table><table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#FFCC00" style="line-height:1px"><tr><td background="/commonfiles/images/common/tread.gif" height="30"><img src="/commonfiles/images/common/shim.gif" width="135" height="25" /><span><?xml version="1.0" encoding="utf-8"?><select name="select" size="1" onchange="top.location.href=this.options[this.selectedIndex].value"><option value="#">Select Section</option><option value="#">----------------------</option><option value="/northamerica">Contact List</option><option value="/northamerica/kirc">Issue Resolution Center</option><option value="/northamerica/komatsu_care">Komatsu CARE</option><option value="/northamerica/vip">Komatsu VIP</option><option value="/northamerica/komtraxvhmsplm">KOMTRAX / KOMTRAXplus / PLM</option><option value="/northamerica/literature">Literature</option><option value="/northamerica/marketing">Marketing</option><option value="/northamerica/merchandise">Merchandise</option><option value="/northamerica/parts">Parts</option><option value="/northamerica/service">Service</option><option value="/northamerica/trainingcms">Training</option></select></span></td></tr><tr><td style="background-color:#000066"><img src="/commonfiles/images/common/shim.gif" height="8" /></td></tr></table></div><table id="NonMenuArea" cellSpacing="0" cellPadding="0" width="100%" border="0"><tr vAlign="top"><td rowspan="2" style="background-color:#666699;border-right:2px solid #666699"><div><div id="navWrapper"><div id="navHeader" style="background-color:#FFCC00"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td width="20" height="20" valign="top"><img width="9" height="17" src="/commonfiles/images/common/redCorner.gif"></img><img width="11" src="/commonfiles/images/common/shim.gif"></img></td><td class="subsectionMainLabel" width="160">Parts Applications</td><td width="20" valign="middle" align="left"><img width="9" height="5" src="https://www.komatsuamerica.net/commonfiles/images/common/blueDown.gif"></img></td></tr></table></div></div></div></td><td colspan="2" height="20"><div id="breadCrumbs" style="padding-left:10px;padding-right:10px;"><div id="crumbData" class="contentText" style="border-bottom:2px solid #FFCC00;padding-bottom:2px;width:100%"><a class="dataLink" href="/northamerica/default.aspx" autoPath="true">Home</a><span><span> &gt; <a class="dataLink" href="/northamerica/parts">Parts</a>
                &gt;
                <a class="dataLink" href="/northamerica/parts/partsapplications">Parts Applications</a></span></span></div></div></td></tr><tr vAlign="top"><td width="10px"><span width="10px" /></td><td width="100%"></span></P>
        <h1 style="FONT-WEIGHT: bold; COLOR: #036; FONT-FAMILY: Arial" align="center">Parts
            Applications</h1>
       
        <table align="center">
            <tr>
                <td>
                    <form name="Form1" method="post" action="modelinfo.aspx" id="Form1">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="dDwtMjAwMTk2MDEzNjt0PDtsPGk8MD47aTwxPjtpPDI+Oz47bDx0PHA8cDxsPFRleHQ7PjtsPFw8aHRtbFw+XDxoZWFkXD5cPGxpbmsgcmVsPSCAgIHZhciBvYmpCb2R5ID0gZG9jdW1lbnQuYm9keVw7DQogICAgdmFyIG9iakJvZHlSZWN0ID0gb2JqQm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVw7DQogICAgdmFyIG5Cb2R5SGVpZ2h0ID0gb2JqQm9keVJlY3QuYm90dG9tIC0gb2JqQm9keVJlY3QudG9wXDsNCg0KICAgIGRvY3VtZW50LmFsbC5pdGVtKCJOb25NZW51QXJlYSIpLmhlaWdodCA9IChuQm9keUhlaWdodCAtIG5IZHJIZWlnaHQpIC0gNFw7DQoNCiAgXDwvc2NyaXB0XD5cPC9ib2R5XD5cPC9odG1sXD47Pj47Pjs7Pjs+Pjs+RFjYAoUkl5uUPya+mdcc34Emw1E=" />

<script language="javascript" type="text/javascript">
<!--
    function __doPostBack(eventTarget, eventArgument) {
        var theform;
        if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
            theform = document.Form1;
        }
        else {
            theform = document.forms["Form1"];
        }
        theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
        theform.__EVENTARGUMENT.value = eventArgument;
        theform.submit();
    }
// -->
</script>

                        &nbsp;
                        <table border="1" width="25%" cellpadding="2" cellspacing="0" bgcolor="#ffcc00">
                            <tr>
                                <td><font face="arial,helvetica" size="2" color="#333333">Enter Part Number </font>
                                    <input name="txtPartNumber" type="text" value="6631-11-5630" id="txtPartNumber" /></FONT></td>
                            </tr>
                            <tr>
                                <td><font face="arial,helvetica" size="2" color="#333333">Select Source </font>
                                    <select name="ddSource" id="ddSource">
    <option value="CSS">CSS</option>
    <option value="PIPS">PIPS</option>
    <option value="OTHER">OTHER</option>
    <option selected="selected" value="ALL">ALL</option>

</select></FONT></td>
                            </tr>
                        </table>
                        <br>
                        <P>
                            <input type="submit" name="btnModel" value="Get Model" onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " language="javascript" id="btnModel" />
                        <P>
                           
                            <br>
                            </P>
                       
                        <table border="1" height="13%" cellpadding="0" cellspacing="0" BGCOLOR="#ffcc00">
                            <tr>
                               
                                <td align="center"><font face="arial,helvetica" size="2" color="#333333">Models for
                                        Part Number </font>
                                    &nbsp;&nbsp;
                                   
                            </tr>
                            </FONT>
                            <tr>
                                <td>
                                    <table cellspacing="0" cellpadding="3" rules="all" bordercolor="Black" border="1" id="dgModelUser" bgcolor="#CCCCFF" width="400">
    <tr bgcolor="#AAAADD">
        <td><font face="Verdana" size="1">Model</font></td><td><font face="Verdana" size="1">Type</font></td><td><font face="Verdana" size="1">Sub Type</font></td><td><font face="Verdana" size="1">Serial Nbr</font></td><td><font face="Verdana" size="1">Source</font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">330M</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">ALL</font></td><td><font face="Verdana" size="1">CSS       </font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">330M</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">A10196-A10211</font></td><td><font face="Verdana" size="1">OTHER     </font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">3D94</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1"> </font></td><td><font face="Verdana" size="1">PIPS      </font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">4D105</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1"> </font></td><td><font face="Verdana" size="1">PIPS      </font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">4D94</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1"> </font></td><td><font face="Verdana" size="1">PIPS      </font></td>
    </tr><tr>
 

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 9:03 pm
by joseluisysturiz
Navarro....me das luz al final del tunel y parece no es el tren, aca las imagenes de los 2 browse que se procesan en el codigo que me enviastes, ahora el punto es como leer exactamente entre tanto codigo los datos de la tabla, saludos...

BROW 1
[img]
Image
[/img]

BROW 2
[img]
Image
[/img]

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 9:07 pm
by cnavarro
Y como habias pensado obtener el contenido de la pagina?

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 9:26 pm
by cnavarro
Prueba este nuevo codigo, con el HTML que has posteado
Solo queda quitar la primera fila que se corresponde con los titulos

Image

Code: Select all  Expand view

#include "fivewin.ch"

#xcommand TEXT INTO <v> => #pragma __cstream|<v>:=%s

Function Main()

Local cCode
Local cHeader
Local nPosHeader  := 0
Local cDetalle
Local x
Local aTokensH    := {}
Local aTokensD    := {}
Local aTitulos    := {}
Local aValores    := {}
Local aFilas      := {}
Local cCad        := ""
Local n           := 0
Local nCols       := 0

TEXT INTO cCode


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>WebForm1</title>
        <SCRIPT LANGUAGE="JavaScript">
        //Enter-listener
        if (document.layers)
           document.captureEvents(Event.KEYDOWN);
           document.onkeydown =
           function (evt) {
           var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
           if (keyCode == 13)   //13 = the code for pressing ENTER<BR>
        {
           document.Form1.btnModel.click();
           return false;
         }
        }
        </SCRIPT>
        <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body>
        <P align="center"><span id="lblhdr"><html><head><link rel="stylesheet" href="/commonfiles/includes/css/komatsu.css" /><link rel="stylesheet" href="/commonfiles/includes/css/Extranet_Style_Sheet.css" /><script>
        document.baseDir = "";
    </script></head><body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" bgcolor="white"><div id="header" x="123"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td rowspan="2"><img src="/commonfiles/images/common/shim.gif" height="1" width="20" /><a autoPath="true" href="/default.aspx"><img src="/commonfiles/images/common/logo.gif" border="0" width="92" height="17" /></a></td><td colspan="2" class="welcomeMessageText">Welcome <a autoPath="true" href="/northamerica/resources/userprofile/userprofile.aspx?custhdrftr=anything">Francisco Sandoval (User ID: fsandoval@mega-ca.com)</a></td></tr><tr><td align="left"><table border="0" cellpadding="0" cellspacing="0" width="200"><tr><td align="left" bgcolor="white" width="10"><img src="/commonfiles/images/common/yellowCornerStart.gif" width="10" height="20" /></td><td class="mainLabel" align="center" bgcolor="#FFCC00" width="180"><nobr>KAC</nobr></td><td align="right" bgcolor="white" width="9"><img src="/commonfiles/images/common/yellowCornerEnd.gif" width="9" height="20" /></td></tr></table></td><td class="mainLabel" align="right"><nobr><a href="/northamerica/default.aspx">
              Home
            </a> | <a href="/logoff">
              Logout
            </a> | <a href="/northamerica/resources/userprofile/userprofile.aspx?custhdrftr=anything">
              Profile
            </a> | <a href="/northamerica/resources/directory">
              Directory
            </a> | <a href="/northamerica/resources/feedback/default.aspx">
              Feedback
            </a> | <a href="/northamerica/resources/site_map/default.aspx">
              Site Map
            </a> | <a href="/northamerica/resources/search/simplesearch.aspx">
              Search
            </a> | <a href="/northamerica/resources/help/default.aspx">
              Help
            </a></nobr></td></tr></table><table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#FFCC00" style="line-height:1px"><tr><td background="/commonfiles/images/common/tread.gif" height="30"><img src="/commonfiles/images/common/shim.gif" width="135" height="25" /><span><?xml version="1.0" encoding="utf-8"?><select name="select" size="1" onchange="top.location.href=this.options[this.selectedIndex].value"><option value="#">Select Section</option><option value="#">----------------------</option><option value="/northamerica">Contact List</option><option value="/northamerica/kirc">Issue Resolution Center</option><option value="/northamerica/komatsu_care">Komatsu CARE</option><option value="/northamerica/vip">Komatsu VIP</option><option value="/northamerica/komtraxvhmsplm">KOMTRAX / KOMTRAXplus / PLM</option><option value="/northamerica/literature">Literature</option><option value="/northamerica/marketing">Marketing</option><option value="/northamerica/merchandise">Merchandise</option><option value="/northamerica/parts">Parts</option><option value="/northamerica/service">Service</option><option value="/northamerica/trainingcms">Training</option></select></span></td></tr><tr><td style="background-color:#000066"><img src="/commonfiles/images/common/shim.gif" height="8" /></td></tr></table></div><table id="NonMenuArea" cellSpacing="0" cellPadding="0" width="100%" border="0"><tr vAlign="top"><td rowspan="2" style="background-color:#666699;border-right:2px solid #666699"><div><div id="navWrapper"><div id="navHeader" style="background-color:#FFCC00"><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td width="20" height="20" valign="top"><img width="9" height="17" src="/commonfiles/images/common/redCorner.gif"></img><img width="11" src="/commonfiles/images/common/shim.gif"></img></td><td class="subsectionMainLabel" width="160">Parts Applications</td><td width="20" valign="middle" align="left"><img width="9" height="5" src="https://www.komatsuamerica.net/commonfiles/images/common/blueDown.gif"></img></td></tr></table></div></div></div></td><td colspan="2" height="20"><div id="breadCrumbs" style="padding-left:10px;padding-right:10px;"><div id="crumbData" class="contentText" style="border-bottom:2px solid #FFCC00;padding-bottom:2px;width:100%"><a class="dataLink" href="/northamerica/default.aspx" autoPath="true">Home</a><span><span> &gt; <a class="dataLink" href="/northamerica/parts">Parts</a>
                &gt;
                <a class="dataLink" href="/northamerica/parts/partsapplications">Parts Applications</a></span></span></div></div></td></tr><tr vAlign="top"><td width="10px"><span width="10px" /></td><td width="100%"></span></P>
        <h1 style="FONT-WEIGHT: bold; COLOR: #036; FONT-FAMILY: Arial" align="center">Parts
            Applications</h1>
       
        <table align="center">
            <tr>
                <td>
                    <form name="Form1" method="post" action="modelinfo.aspx" id="Form1">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="dDwtMjAwMTk2MDEzNjt0PDtsPGk8MD47aTwxPjtpPDI+Oz47bDx0PHA8cDxsPFRleHQ7PjtsPFw8aHRtbFw+XDxoZWFkXD5cPGxpbmsgcmVsPSCAgIHZhciBvYmpCb2R5ID0gZG9jdW1lbnQuYm9keVw7DQogICAgdmFyIG9iakJvZHlSZWN0ID0gb2JqQm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVw7DQogICAgdmFyIG5Cb2R5SGVpZ2h0ID0gb2JqQm9keVJlY3QuYm90dG9tIC0gb2JqQm9keVJlY3QudG9wXDsNCg0KICAgIGRvY3VtZW50LmFsbC5pdGVtKCJOb25NZW51QXJlYSIpLmhlaWdodCA9IChuQm9keUhlaWdodCAtIG5IZHJIZWlnaHQpIC0gNFw7DQoNCiAgXDwvc2NyaXB0XD5cPC9ib2R5XD5cPC9odG1sXD47Pj47Pjs7Pjs+Pjs+RFjYAoUkl5uUPya+mdcc34Emw1E=" />

<script language="javascript" type="text/javascript">
<!--
    function __doPostBack(eventTarget, eventArgument) {
        var theform;
        if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
            theform = document.Form1;
        }
        else {
            theform = document.forms["Form1"];
        }
        theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
        theform.__EVENTARGUMENT.value = eventArgument;
        theform.submit();
    }
// -->
</script>

                        &nbsp;
                        <table border="1" width="25%" cellpadding="2" cellspacing="0" bgcolor="#ffcc00">
                            <tr>
                                <td><font face="arial,helvetica" size="2" color="#333333">Enter Part Number </font>
                                    <input name="txtPartNumber" type="text" value="6631-11-5630" id="txtPartNumber" /></FONT></td>
                            </tr>
                            <tr>
                                <td><font face="arial,helvetica" size="2" color="#333333">Select Source </font>
                                    <select name="ddSource" id="ddSource">
    <option value="CSS">CSS</option>
    <option value="PIPS">PIPS</option>
    <option value="OTHER">OTHER</option>
    <option selected="selected" value="ALL">ALL</option>

</select></FONT></td>
                            </tr>
                        </table>
                        <br>
                        <P>
                            <input type="submit" name="btnModel" value="Get Model" onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " language="javascript" id="btnModel" />
                        <P>
                           
                            <br>
                            </P>
                       
                        <table border="1" height="13%" cellpadding="0" cellspacing="0" BGCOLOR="#ffcc00">
                            <tr>
                               
                                <td align="center"><font face="arial,helvetica" size="2" color="#333333">Models for
                                        Part Number </font>
                                    &nbsp;&nbsp;
                                   
                            </tr>
                            </FONT>
                            <tr>
                                <td>
                                    <table cellspacing="0" cellpadding="3" rules="all" bordercolor="Black" border="1" id="dgModelUser" bgcolor="#CCCCFF" width="400">
    <tr bgcolor="#AAAADD">
        <td><font face="Verdana" size="1">Model</font></td><td><font face="Verdana" size="1">Type</font></td><td><font face="Verdana" size="1">Sub Type</font></td><td><font face="Verdana" size="1">Serial Nbr</font></td><td><font face="Verdana" size="1">Source</font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">330M</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">ALL</font></td><td><font face="Verdana" size="1">CSS       </font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">330M</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">A10196-A10211</font></td><td><font face="Verdana" size="1">OTHER     </font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">3D94</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1"> </font></td><td><font face="Verdana" size="1">PIPS      </font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">4D105</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1"> </font></td><td><font face="Verdana" size="1">PIPS      </font></td>
    </tr><tr>
        <td><font face="Verdana" size="1">4D94</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1">&nbsp;</font></td><td><font face="Verdana" size="1"> </font></td><td><font face="Verdana" size="1">PIPS      </font></td>
    </tr><tr>
ENDTEXT

nCols := 5

cCode := StrTran( cCode, Chr(34), "'" )
cCode := StrTran( cCode, "&nbsp;", "    " )

nPosHeader  := RAt( "<table ", cCode ) + 7 // At( "</tr>", cCode ) + 4

cHeader     := Left( cCode, nPosHeader )
cDetalle    := Right( cCode, Len( cCode ) - nPosHeader )

aTokensH  := hb_atokens( cHeader, "<td>" )
For x = 2 to Len( aTokensH )
    cCad  := ""
    cCad  := Right( aTokensH[ x ], Len( aTokensH[ x ] ) - At( "size='1'>", aTokensH[ x ] ) - 8 )
    cCad  := Left( cCad, At( "<", cCad ) - 1 )
    AAdd( aTitulos, cCad )
Next x
//XBrowse( aTitulos )

aTokensD  := hb_atokens( cDetalle, "<td>" )
For x = 2 to Len( aTokensD )
    cCad  := ""
    cCad  := Right( aTokensD[ x ], Len( aTokensD[ x ] ) - At( "size='1'>", aTokensD[ x ] ) - 8 )
    cCad  := Left( cCad, At( "<", cCad ) - 1 )
    AAdd( aFilas, cCad )
    n++
    if n = nCols //Len( aTitulos )
       AAdd( aValores, aFilas )
       n := 0
       aFilas      := {}
    endif
Next x
XBrowser( aValores )

Return nil


 

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 9:43 pm
by joseluisysturiz
cnavarro wrote:Y como habias pensado obtener el contenido de la pagina?

No tengo ni idea, por eso hice la pregunta en el foro, si habia forma de leer los datos HTML conociendo la direccion web y el nombre de la tabla y ni idea que mas hacer....por eso estoy o estaba de manos atadas...y aun no tengo idea de como leer todo el contenido HTML de forma dinamica, sin que use un copiar y pegar o algo parecido, saludos... :shock:

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 10:26 pm
by cnavarro
Bueno, pues asi puedes obtener el codigo (está en el foro)
Creo que con esto está casi

Code: Select all  Expand view

#include "fivewin.ch"

function main()
   local oIE,cTXT,cHTML
   local cString
   local cUrl := "http://www.fivetechsoft.com/english/index.php"

    LOCAL oUrl, oCli

    LOCAL lOk := .F.
    BEGIN SEQUENCE
        oUrl = TUrl():New( cUrl )

        IF EMPTY( oUrl )
            BREAK
        ENDIF

        oCli = TIPClientHttp():New( oUrl )

        IF EMPTY( oCli )
           BREAK
        ENDIF

        IF !oCli:Open( oUrl )
           BREAK
        ENDIF

        cString := oCli:Read()


        oCli:Close()
    END SEQUENCE

    //MsgInfo( cString )
    MemoEdit( cString )
return nil


 

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

PostPosted: Tue Aug 18, 2015 10:35 pm
by joseluisysturiz
Navarro, si meto el codigo en un archivo .txt luego puedo alimentar en TEXT INTO cCode--? ya que copie solo los td y tr de la tabla, lo coloque dentro del TEXT INTO cCode y pude leer todos las filas de la table y lo confirma porque la lleve a excel, solo habria que quitar el registro 1 que es los titulos de la table, ahora se esta viendo mucho mejor, revisare lo que enviastes nuevo.

He copiado todo el codigo html de la tabla pero solo me llevo al xbrowse 238 filas...y son casi 1000.