Cher Forum,
Je me forme au VBA et je rencontre certaines difficultes lors de l'extraction de donnees depuis une page web. Merci d'avance pour votre temps et conseil
Voici une description de la situation:
1) Le probleme
La difficulte la plus importante consiste a recuperer les urls d'une page web.
Pour etre precis, je souhaite recuperer tous les urls des annonces immobilieres contenues dans cette page: http://dubai.dubizzle.com/property-f...rty_developer=
Pour affiner le scope de la recherche, je cherche en realite a extraires les urls contenu dans <div id="results-list.
Les urls se presentent sous la forme:<ahref=""http://dubai.dubizzle.com/property-for-rent/residential/villahouse/2014/5/23/family-villa-vacant-3-bedroom-study-maids--2/?back=ZHViYWkuZHViaXp6bGUuY29tL3Byb3BlcnR5LWZvci1yZW50L3Jlc2lkZW50aWFsLz9wcmljZV9fZ3RlPSZwcmljZV9fbHRlPSZiZWRyb29tc19fZ3RlPTAmYmVkcm9vbXNfX2x0ZT0xMiZwbGFjZXNfX2lkX19pbj1TdGFydCt0eXBpbmcraGVyZSZwbGFjZXNfX2lkX19pbj0mYnVpbGRpbmdfX2luPVN0YXJ0K3R5cGluZytoZXJlJmtleXdvcmRzPSZpc19iYXNpY19zZWFyY2hfd2lkZ2V0PTAmaXNfc2VhcmNoPTEmYWRkZWRfX2d0ZT0mY29tcGFueV9pdGVtX2lkPSZmdXJuaXNoZWQ9Jmxpc3RlZF9ieT0mc2l6ZV9fZ3RlPSZzaXplX19sdGU9JmJhdGhyb29tc19fZ3RlPSZiYXRocm9vbXNfX2x0ZT0mcmVhbF9lc3RhdGVfYWdlbnQ9JmxhbmRsb3JkPSZwcm9wZXJ0eV9kZXZlbG9wZXI9&pos=1""xtcltype=""S""xtclib=""listing_list_1_title_link"">Familyvilla-vacant-3bedroom+study+maids-...</a>
L'objectif est donc de lister dans une colonne excel, l'ensemble des urls.
2) La macro actuelle
Pour le moment, j'ai cree une macro qui recupere dans un cellule le contenu html contenu dans "results-list:
je suis bloque a ce niveau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") IE.Visible = False url_name = "http://dubai.dubizzle.com/property-for-rent/residential/?price__gte=&price__lte=&bedrooms__gte=0&bedrooms__lte=12&places__id__in=Start+typing+here&places__id__in=&building__in=Start+typing+here&keywords=&is_basic_search_widget=0&is_search=1&added__gte=&company_item_id=&furnished=&listed_by=&size__gte=&size__lte=&bathrooms__gte=&bathrooms__lte=&real_estate_agent=&landlord=&property_developer=" '"www.google.fr" ' IE.navigate (url_name) Do DoEvents Loop Until IE.readyState = 4 myLinks = Replace(IE.document.getElementsByTagName("div")("results-list").innerHTML, " ", "") Cells(1,1) = myLinks End Sub
3) Des pistes pour atteindre l'objectif ?
J'ai lu pas mal de tuto / forum / videos youtube et il ressort qu'il serait possible d'extraire l'ensemble des urls avec un code de ce genre - toutefois, je n'ai pas reussi a l'appliquer a mon cas:
J'espere avoir ete suffisament precis dans l'expose du cas. N'hesitez pas a demander des precisions si besoin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ' La page est deja chargee Set Allhyperlinks = ie.documentByTagName("a") For each hyper_link in Allhyperlinks Sheets1.Listbox1.AddItem (hyper_links) Next
Merci d'avance pour votre temps/conseils.
Alex
Partager