+ Reply to Thread
Results 1 to 4 of 4

Scraping image URL inside div > a

Hybrid View

  1. #1
    Registered User
    Join Date
    08-13-2009
    Location
    Denmark
    MS-Off Ver
    Office 365
    Posts
    20

    Scraping image URL inside div > a

    Hi

    I'm using the following code to scrape a product image on a website. But I can't figure out how to change the queryselector to scrape the image.

    For input please use the following url:

    https://my.supplychain.nhs.uk/Catalo...riteId=&Query=

    The url will be combined with the product id in the spreadsheet and then it will search for the image based on the queryselector.

    So I want to scrape the image from this part of the html code.


    <div class="productPrevImgThumb">
    <a href="/Catalogue/product/fvk216" class="product_thumbnail_preview">
    <img src="https://media.supplychain.nhs.uk/media/images/FVK216/thumb/764268_FVK216.jpg" alt="FVK216">
    </a>
    </div>

    Anyone can help me modify the following code?

    Sub ImageDownload()
        Dim sheet As Worksheet
        Dim lastRow As Long
        Dim fileFormat As String
        Dim IE As New InternetExplorer
        Dim folderName As String
        Dim i As Long
        Dim imgName As String
        Dim doc As HTMLDocument
        Dim imgUrl As String
        Dim dlFunc As Long
        Dim urlPath As String
    
    
        Set sheet = ActiveWorkbook.ActiveSheet
        
        sheet.Range("D1").ClearContents
        sheet.Range("C2", Cells(Rows.Count, Columns.Count)).ClearContents
        
        lastRow = sheet.Range("A" & Rows.Count).End(xlUp).Row
        
        urlPath = InputBox("Please enter url for webscrape")
        
        fileFormat = InputBox("Please select file format. (Ex png, jpg, jpeg)")
        
        If fileFormat <> "png" And fileFormat <> "jpg" And fileFormat <> "jpeg" Then
            IE.Quit
            Exit Sub
        End If
        
        IE.Visible = False
        
        With Application.FileDialog(msoFileDialogFolderPicker)
        
            .Title = "Select a folder"
            .ButtonName = "Select"
            
            If .Show = -1 Then
                folderName = .SelectedItems(1)
            Else
                IE.Quit
                Exit Sub
            End If
            
        End With
        
        'https://surgical-instruments.bbraun.com/search/?text=
        
        'https://mdtrade.at/search?q=C0058409
        
        For i = 2 To lastRow
            'ie.Navigate "https://www.skroutz.gr/search?keyphrase=" & sheet.Range("B" & i).Value
            'IE.Navigate "https://mdtrade.at/search?q=" & sheet.Range("B" & i).Value
            IE.Navigate urlPath & sheet.Range("B" & i).Value
            Do
                DoEvents
            Loop Until IE.readyState = READYSTATE_COMPLETE
            
            Set doc = IE.document
            
            On Error Resume Next
            'imgUrl = doc.querySelector("a[data-bg]").toString
            'imgUrl = doc.querySelector("a[class='product_thumbnail_preview']").getAttribute("src").toString
            imgUrl = doc.querySelector("div.productPrevImgThumb > a img").toString
                            
            Debug.Print imgUrl
            
            
            
            If Err.Number = 91 Then
                sheet.Range("C" & i).Value = "Not Found"
            Else
                imgName = folderName & "\" & sheet.Range("A" & i).Value & "." & fileFormat
                dlFunc = URLDownloadToFile(0, imgUrl, imgName, 0, 0)
                If dlFunc = 0 Then
                    sheet.Range("C" & i).Value = "File successfully downloaded"
                Else
                    sheet.Range("C" & i).Value = "Unable to download the file"
                End If
            End If
        Next i
        
        sheet.Range("D1").Value = "Script Complete"
        IE.Quit
    End Sub
    Best regards
    Morten
    Attached Files Attached Files
    Last edited by morsoe; 05-02-2022 at 10:29 AM.

  2. #2
    Forum Moderator Glenn Kennedy's Avatar
    Join Date
    07-08-2012
    Location
    Digital Nomad... occasionally based in Ireland.
    MS-Off Ver
    O365 (PC) V 2406
    Posts
    44,662

    Re: Scraping image URL inside div > a

    Please confirm that you are still using Excel 2003... or update your profile appropriately.
    Glenn




    None of us get paid for helping you... we do this for fun. So DON'T FORGET to say "Thank You" to all who have freely given some of their time to help YOU

  3. #3
    Registered User
    Join Date
    08-13-2009
    Location
    Denmark
    MS-Off Ver
    Office 365
    Posts
    20

    Re: Scraping image URL inside div > a

    My profile is now updated :-)

  4. #4
    Registered User
    Join Date
    08-13-2009
    Location
    Denmark
    MS-Off Ver
    Office 365
    Posts
    20

    Re: Scraping image URL inside div > a

    The solution was.

    imgUrl = doc.querySelector("div.productPrevImgThumb > a img").getAttribute("src")

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. insert an image based on a condition inside a for next loop
    By GerryZucca in forum Excel Programming / VBA / Macros
    Replies: 2
    Last Post: 02-28-2021, 04:55 AM
  2. Replies: 0
    Last Post: 02-28-2021, 03:27 AM
  3. Rotating picture inside image control
    By ImranBhatti in forum Excel Programming / VBA / Macros
    Replies: 4
    Last Post: 10-02-2019, 12:06 PM
  4. Scraping a specific <td> tag that is nested inside a <tr> tag with VBA
    By kamelkid2 in forum Excel Programming / VBA / Macros
    Replies: 3
    Last Post: 01-06-2015, 12:44 AM
  5. [SOLVED] how to insert image in the ImageList with the image inside the tab?
    By marreco in forum Excel Programming / VBA / Macros
    Replies: 5
    Last Post: 08-29-2014, 09:21 AM
  6. Code an image viewer inside XL
    By quartz in forum Excel Programming / VBA / Macros
    Replies: 4
    Last Post: 08-15-2006, 09:45 AM
  7. Store an image inside a cell?
    By tx12345 in forum Excel Formulas & Functions
    Replies: 3
    Last Post: 01-18-2006, 12:01 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1