Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - dany22_

#1
igual no me retorna el codigo que deberia al parecer la pagina en ciertas ocasiones da un codigo y enotras otro y el codigo que traigo con ,net me trae el codigo que no necesito
#2
tambien tengo este codigo quizas es a lo que te refieres

Imports System.Collections.Generic
Imports System.Linq
Imports System.Net
Imports HtmlAgilityPack
Imports System.Text.RegularExpressions
Imports System.IO
Imports System.Web
Public Class Form2
    Dim doc2 As New HtmlAgilityPack.HtmlDocument()
    Dim wc As New WebClient
    Dim regexTrim As New Regex("\s\s", RegexOptions.Compiled)
    Private bConsultado As Boolean = False
    Private bResultado As Boolean = False
    Private sHtml As String = ""
    Private periodo As String = ""

 
    Public Function Consultar(ByVal dni As String) As resultados
        Dim elemento As HtmlNode
        Dim tablaStr As String
x:
        Dim bytes As Byte()
        bytes = wc.DownloadData("http://www.sbs.gob.pe/app/spp/Afiliados/afil_detalle.asp?tp=2&tip_doc=00&num_doc=" & dni)
        Using sr As New StreamReader(New MemoryStream(bytes))
            doc2.LoadHtml(HttpUtility.HtmlDecode(sr.ReadToEnd()))
        End Using
        elemento = doc2.DocumentNode.SelectSingleNode("//html")
        If elemento Is Nothing Then
            GoTo x
        End If
        ' posible bucle infinito
        tablaStr = elemento.InnerHtml
        MsgBox(tablaStr)
        ' posible bucle infinito (poco probable)
        Dim result As New resultados()
        If tablaStr.Contains("Documento de Identidad no registrado en el SPP.") Then
            result.Estado = resultados.RucState.NoExiste
            Return result
        End If

        ' nombre comercial
        result.EstadoContribuyente = ObtenerContenido(elemento, "Apellido Paterno")
        ' estado del contribuyente
        result.CondiciónContribuyente = ObtenerContenido(elemento, "Primer Nombre")
        ' condición del contribuyente
        result.Dirección = ObtenerContenido(elemento, " Fecha Nacimiento")
        ' dirección
        Return result
    End Function
    Private Function ObtenerContenido(tabla As HtmlNode, index As String) As String
        Dim elemento As HtmlNode = Nothing

        For Each e As HtmlNode In tabla.ChildNodes
            If Not String.IsNullOrEmpty(e.InnerText) AndAlso e.InnerText.Contains(index) Then
                elemento = e
                Exit For
            End If
        Next

        If elemento Is Nothing OrElse elemento.ChildNodes.Count = 0 Then
            Return String.Empty
        End If
        Return TrimAll(elemento.ChildNodes(3).InnerText)
    End Function
    Private Function TrimAll(str As String) As String
        While regexTrim.IsMatch(str)
            str = regexTrim.Replace(str, " ")
        End While

        Return str.Trim()
    End Function
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim result As resultados = Consultar("06454380")

        Select Case result.Estado
            Case resultados.RucState.NoExiste
                MessageBox.Show("El RUC no existe.")
            Case resultados.RucState.Normal
                TextBox1.Text = "Número de RUC: " & result.RUC & vbNewLine &
                                        "Tipo Contribuyente: " & result.TipoContribuyente & vbNewLine &
                                        "Tipo de Documento: " & result.TipoDocumento
        End Select

    End Sub
End Class
Public Class resultados

    Public Estado As RucState
    Public RUC As String
    Public TipoContribuyente As String
    Public TipoDocumento As String
    Public NombreComercial As String
    Public EstadoContribuyente As String
    Public CondiciónContribuyente As String
    Public Dirección As String

    Public Enum RucState
        Normal
        NoExiste
    End Enum
End Class
#3
Ok le voy a dar una revisada y te aviso si consegui algo
#4
No entiendo muy bien lo que quieres decir, lo que pasa es que no se mucho sobre esto de hecho este codigo es un ejemplo que obtuve buscando en internet.
#5
No consigo obtener el codigo fuente de la pagina en mension. Reemplazando el 00000000 por un numero de dni valido me deberia arrojar los datos del afiliado y ese codigo es que deberia obtener pero nada
#6
Estimados amigos muy buenos dias, quisiera que por favor me ayuden a que este codigo funcione. Lo que pretendo es extraer datos de esta pagina de la sbs. http://www.sbs.gob.pe/app/spp/Afiliados/afil_detalle.asp?tp=2&tip_doc=00&num_doc=00000000



Imports System.Collections.Generic

Imports System.Linq
Imports System.Net
Imports HtmlAgilityPack
Imports System.Text.RegularExpressions
Imports System.IO
Imports System.Web
Public Class Form2
   
    Sub obtener()
        Try
            Dim document As HtmlAgilityPack.HtmlDocument = New HtmlAgilityPack.HtmlDocument()
            document.LoadHtml("http://www.sbs.gob.pe/app/spp/Afiliados/afil_detalle.asp?tp=2&tip_doc=00&num_doc=00000000")
            Dim NodesTr As HtmlAgilityPack.HtmlNodeCollection = document.DocumentNode.SelectNodes("//table[@id='TblDetalle']//tr")
            If NodesTr IsNot Nothing Then
                Dim dt As New DataTable()
                dt.Columns.Add("DATO1", GetType(String))
                dt.Columns.Add("DATO2", GetType(String))

                Dim iNumFila As Integer = 0
                For Each Node As HtmlNode In NodesTr
                    If iNumFila > 0 Then
                        Dim iNumColumna As Integer = 0
                        Dim dr As DataRow = dt.NewRow()
                        For Each subNode As HtmlNode In Node.Elements("td")
                            If (iNumColumna = 0) Then dr = dt.NewRow()
                            Dim sValue As String = subNode.InnerHtml.ToString().Trim()
                            sValue = System.Text.RegularExpressions.Regex.Replace(sValue, "<.*?>", " ")
                            dr(iNumColumna) = sValue
                            iNumColumna += 1
                            If iNumColumna = 2 Then '3
                                dt.Rows.Add(dr)
                                iNumColumna = 0
                            End If
                        Next
                    End If
                    iNumFila += 1
                Next
                dt.AcceptChanges()
                Me.dgvHtml.DataSource = dt
                Me.dgvHtml.ReadOnly = True
                Me.dgvHtml.Columns(0).HeaderText = "DATO1"
                Me.dgvHtml.Columns(1).HeaderText = "DATO2"
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub
   
   
End Class
#7
Estimado mguala quiera que porfavor me ayudes a manipular esta pagina web
http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias
que a su vez contiene por medio de un frameset y frame a esta pagina
http://www.sunat.gob.pe/cl-ti-itmrconsruc/frameCriterioBusqueda.jsp
y esta otra que es el resultado de la consulta
http://www.sunat.gob.pe/cl-ti-itmrconsruc/frameResultadoBusqueda.html
LO E INTENTADO PERO NO LO LOGRO HACER.