Добрый день
пытаюсь вытянуть ссылки со страницы. но видимо неправильно написал шаблон
по разному пробовал, но все равно не проходит проверку вхождения
на ресурсе 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
|