Добрый день
пытаюсь вытянуть ссылки со страницы. но видимо неправильно написал шаблон
по разному пробовал, но все равно не проходит проверку вхождения
на ресурсе regex101.com регулярки правильно находили данные
подскажите где я делаю неправльно?
строчка из кода страницы
пытаюсь вытянуть ссылки со страницы. но видимо неправильно написал шаблон
по разному пробовал, но все равно не проходит проверку вхождения
на ресурсе regex101.com регулярки правильно находили данные
подскажите где я делаю неправльно?
строчка из кода страницы
Код |
---|
<td class='t-ac nowrap'><a target='_blank' href='/goods/akd0069/akyoto/id37525751'><i class='r0'></i><span class='s1'></span></a> |
Код |
---|
Sub OneHref() Dim t$, URL$, i As Long For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row URL = URLEncode(Cells(i, "F")) With CreateObject("msxml2.xmlhttp") .Open "GET", URL, False .send Do: DoEvents: Loop Until .readyState = 4 t = .responseText Cells(i, "G") = dann(t) If Cells(i, "G") = "" Then Cells(i, "G") = "not href" End If End With Next End Sub Function dann(t As String) Dim RegExp As Object Set RegExp = CreateObject("VBScript.RegExp") RegExp.IgnoreCase = True RegExp.Global = False RegExp.MultiLine = True RegExp.Pattern = "<a target=""_blank"" href=""(.*?)"">" If RegExp.Test(t) Then dann = RegExp.Execute(t)(0) End If End Function Function URLEncode(ByVal txt As String) As String For i = 1 To Len(txt) l = Mid(txt, i, 1) Select Case AscW(l) Case Is > 4095: t = "%" & Hex(AscW(l) \ 64 \ 64 + 224) & "%" & Hex(AscW(l) \ 64) & "%" & Hex(8 * 16 + AscW(l) Mod 64) Case Is > 127: t = "%" & Hex(AscW(l) \ 64 + 192) & "%" & Hex(8 * 16 + AscW(l) Mod 64) Case 32: t = "%20" Case Else: t = l End Select URLEncode = URLEncode & t Next End Function |