Importer des données HTML

Nolex Messages postés 6 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 30 juillet 2009 - 28 juil. 2009 à 19:29
Nolex Messages postés 6 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 30 juillet 2009 - 30 juil. 2009 à 21:59
Bonjour a tous, j'ai creer une base SQL et je souhaiterais la remplir automatiquement tous les jour avec des données venant d'un site web , Est ce possible ?
si oui a l'aide j'en est marre de saisir a la mano
merci

4 réponses

nivsql Messages postés 159 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 14 décembre 2010 1
28 juil. 2009 à 19:42
Quel moteur SQL utilise tu ? MySql ? SQL Server ? PostgresSQL ? autre ?

A chaque moteur sa solution ^^

Ensuite Comment reccupere tu ces données ? elles sont saisie dans un formulaire et envoyer dans ta boite mail ?

Tu donne trop peu d'info pour qu'on puisse t'apporter une aide efficace.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 juil. 2009 à 20:42
Salut


Exemple en VB.NET

Il reste plus qu'a transforme le remplissage de la listview en
ordre insert par exemple

Le code n'est pas tres propre mais j'ai repris une réponse que je viens de faire sur le site regexp.


        Me.Cursor = Cursors.WaitCursor


        Try
            Dim request As WebRequest = WebRequest.Create("http://www.bedetheque.com/bandes_dessinees_A.html")
            Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
            Dim dataStream As Stream = response.GetResponseStream()
            Dim reader As New StreamReader(dataStream, Encoding.UTF7)
            Dim responseFromServer As String = reader.ReadToEnd()
            Me.RtHtmlData.Text = responseFromServer
            reader.Close()
            dataStream.Close()
            response.Close()

            Me.LvResults.Items.Clear()

            Dim result As String
            result = Me.RtHtmlData.Text

            Dim Pattern As String
            Pattern = "[ .*?)"" TARGET=""_top"" alt=""(?].*?)"" title=""(?<title>.*?)"" >(?<titre>.*?)
"


            Dim rx As New Regex(Pattern, RegexOptions.IgnoreCase)

            Dim matches As MatchCollection = rx.Matches(result)

            For Each m As Match In matches
                Dim lvi As ListViewItem = New ListViewItem
                lvi.Text = m.Groups("titre").Value
                lvi.SubItems.Add(m.Groups("title").Value)
                lvi.SubItems.Add(m.Groups("alt").Value)
                lvi.SubItems.Add(m.Groups("serie").Value)
                LvResults.Items.Add(lvi)
            Next

            MessageBox.Show(matches.Count)


            Me.LbResults.Text = Me.LvResults.Items.Count.ToString & " résultat(s) trouvé(s)"
            Me.Cursor = Cursors.Default


Bon dev
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 juil. 2009 à 21:03
Je complete avec la correction de l'encoding
Un encoding dynamique est mieux


   Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
            Dim dataStream As Stream = response.GetResponseStream()
            Dim respEncoding As Encoding = Encoding.GetEncoding(response.CharacterSet)

            Dim reader As New StreamReader(dataStream, respEncoding)
            Dim responseFromServer As String = reader.ReadToEnd()


Bon dev
0
Nolex Messages postés 6 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 30 juillet 2009
30 juil. 2009 à 21:59
merci beaucoup pour ton code
je rentre juste de la plage, j'ai pris qque joue de congé
je test ton code dans ma base des se soir
0
Rejoignez-nous