Forum Discussion

wskallmeyer's avatar
wskallmeyer
Advocate II
8 years ago
Solved

web connector and getting HREF value

I have successfully implemented Web connector and it has returned values that I expected.  However, there is one column that has an HREF/http value that I would also like to display not just the name value but also pass the HREF to allow my user to click on that link.  Has anyone attempted to bring back the HREF value?

 

Here is my web connector link ...

 

https://iase.disa.mil/stigs/Lists/stigs-masterlist/AllItems.aspx

 

Also, here is the HTML genereted by that page and in particular that TR/TD

 

<tr class="">
<td class="ms-vb2">Unclassified</td>
<td class="ms-vb2">
<a href="http://iasecontent.disa.mil/stigs/zip/U_A10_Networks_ADC_ALG_V1R1_STIG.zip" target="_blank">
A10 Networks Application Delivery Controller (ADC) ALG STIG Version 1</a></td>
<td class="ms-vb2"><nobr>4/27/2016</nobr></td>
<td class="ms-vb2">267 KB</td>
<td class="ms-vb2">ZIP</td>
<td class="ms-vb-icon">&nbsp;</td>
</tr>

 

Thanks in advance, Scott

  • The Web connector relies on the Web.Page( ) M function, which will not get the href value, so you will need to edit the query in the Power Query Editor.

     

    Instead of using the default Web.Page( ), try getting the table using Lines.FromBinary( ) and Table.FromColumns( ). The output is not the final clean values, but you can split and remove until you get down to the data down to the values you want. 

     

    As a start:

     

    let
        Source = Table.FromColumns({Lines.FromBinary(Web.Contents("https://iase.disa.mil/stigs/Lists/stigs-masterlist/AllItems.aspx"))}),
        Custom1 = Table.SelectRows(Source, each Text.Contains([Column1], "https://iasecontent.disa.mil/stigs/zip/"))
    in
        Custom1

     

     

2 Replies

  • deldersveld's avatar
    deldersveld
    Resident Rockstar

    The Web connector relies on the Web.Page( ) M function, which will not get the href value, so you will need to edit the query in the Power Query Editor.

     

    Instead of using the default Web.Page( ), try getting the table using Lines.FromBinary( ) and Table.FromColumns( ). The output is not the final clean values, but you can split and remove until you get down to the data down to the values you want. 

     

    As a start:

     

    let
        Source = Table.FromColumns({Lines.FromBinary(Web.Contents("https://iase.disa.mil/stigs/Lists/stigs-masterlist/AllItems.aspx"))}),
        Custom1 = Table.SelectRows(Source, each Text.Contains([Column1], "https://iasecontent.disa.mil/stigs/zip/"))
    in
        Custom1