LEER VARIAS COLUMNAS DE UNA TABLA HTML

LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby joseluisysturiz » Mon Aug 17, 2015 5:51 pm

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)
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby joseluisysturiz » Tue Aug 18, 2015 4:57 pm

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:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby cnavarro » Tue Aug 18, 2015 4:59 pm

Si tienes la cadena que devuelve, los valores parece que van siempre entre

size="1">1312</font>
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby joseluisysturiz » Tue Aug 18, 2015 5:32 pm

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>
 
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby joseluisysturiz » Tue Aug 18, 2015 6:38 pm

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]
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby cnavarro » Tue Aug 18, 2015 7:42 pm

Puedes poner desde el principio hasta por los menos 5 o 6 filas de la tabla?

No hace falta
Last edited by cnavarro on Tue Aug 18, 2015 8:31 pm, edited 1 time in total.
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby postinelli » Tue Aug 18, 2015 8:17 pm

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
postinelli
 
Posts: 147
Joined: Tue Jul 15, 2008 7:12 pm
Location: Argentina

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby cnavarro » Tue Aug 18, 2015 8:35 pm

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
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby joseluisysturiz » Tue Aug 18, 2015 8:45 pm

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>
 
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby joseluisysturiz » Tue Aug 18, 2015 9:03 pm

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]
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby cnavarro » Tue Aug 18, 2015 9:07 pm

Y como habias pensado obtener el contenido de la pagina?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby cnavarro » Tue Aug 18, 2015 9:26 pm

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


 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby joseluisysturiz » Tue Aug 18, 2015 9:43 pm

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:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby cnavarro » Tue Aug 18, 2015 10:26 pm

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


 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: LEER VARIAS COLUMNAS DE UNA TABLA HTML

Postby joseluisysturiz » Tue Aug 18, 2015 10:35 pm

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.
Last edited by joseluisysturiz on Tue Aug 18, 2015 10:42 pm, edited 1 time in total.
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 77 guests