Stratégie de récupération de pages web

STephane

XLDnaute Occasionnel
Bonjour

En recherche d'appart, je me suis fais quelques macros pour analyser certaines pages téléchargées MANUELLEMENT.


J'écris donc ce message à la recherche d'idées ou d'exemples de téléchargement et analyses des pages de résultats des annonceurs ??

Celui-ci dessous est pour Lyon, ce qui est intéressant chez lui est le détail d'informations qu'il fournit.





Merci de votre aide our faire avancer le schmilblick.

:evil:
 

MichelXld

XLDnaute Barbatruc
bonjour Cher Stephane

J'espere que cette macro pourra t'aider

La procedure boucle sur les 30 premieres pages d'annonces et importe les données dans la feuille active
Ce n'est qu'un exemple et comme chaque site Web est différent il faudra à chaque fois adapter la macro

durée : environ 2 minutes pour importer les données des 30 pages
( testé avec Excel2002 , WinXP & IE6 )



Code:
Sub Importer_donneesPlusieursPageWeb()
'MichelXld le 09.06.2005
'
'--------------------------------------------------------
'activer la reference Microsoft HTML Objects Library
'activer la reference Microsoft Internet Controls
'--------------------------------------------------------
'
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Htable As IHTMLElementCollection
Dim maTable As IHTMLTable
Dim j As Integer, i As Integer, x As Integer
Dim Ligne As Integer, A As Integer
Dim Colonne As Byte, test As Byte, NbPages As Byte


Application.ScreenUpdating = False

For NbPages = 1 To 30 'boucle sur les 30 pages d'info

Set IE = CreateObject('InternetExplorer.Application')
IE.Visible = False
IE.Navigate '[I]Ce lien n'existe plus[/I] & _
NbPages & '&table=LOCATION&adb=1083&cp=&ville=&F1=&F2=&F3=&F4=&F5=&F6=&activation=&surface=&total=&nouveau=&photo=&parking=&balcon=&terrain=&prestige=&neuf=&loccom='
Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop

Set maPageHtml = IE.Document
Set Htable = maPageHtml.getElementsByTagName('table') 'boucle sur les table de la page Web
Colonne = 0
test = 0
Ligne = Ligne + 1
A = 14


'--------------------------------------------------------
'mise en page personnalisée
For x = 3 To Htable.Length - 2
test = test + 1

If test = 4 Then
test = 1
Colonne = 0
Ligne = Ligne + 1
End If
'--------------------------------------------------------


Set maTable = Htable(x)

For i = 1 To maTable.Rows.Length 'boucle sur toutes les lignes de la table

For j = 1 To maTable.Rows(i - 1).Cells.Length 'boucle sur les éléments dans chaque ligne

Colonne = Colonne + 1
Cells(Ligne, Colonne) = maTable.Rows(i - 1).Cells(j - 1).innerText


'--------------------------------------------------------
'juste pour le fun on ajoute un lien vers le détail de l'annonce
If Colonne = 9 Then
ActiveSheet.Hyperlinks.Add Cells(Ligne, Colonne), maPageHtml.links(A)
A = A + 3
End If
'--------------------------------------------------------


Next j

Next i
Next x

DoEvents
IE.Quit
Set IE = Nothing
Next NbPages

Application.ScreenUpdating = True
End Sub



bon apres midi
et bon courage pour ta recherche d'appartement
MichelXld
 

STephane

XLDnaute Occasionnel
bonjour


c'est plutôt facile de récupérer des pages MANUELLEMENT sur son disque puis de lancer une macro pour naviguer sur le disque, par contre il est difficile de naviguer en ligne à par sur certains sites des régies de l'opéra, comme celui de paruvendu ou du progres.


qui plus est paruvendu semble faire des contrôles sur d'où vous venez quand vous naviguez chez eux et reroute toujours ce qui empêche la récupération en ligne.

mes tentatives ci-jointes
 

Statistiques des forums

Discussions
312 674
Messages
2 090 788
Membres
104 665
dernier inscrit
ronbt