Страницы: 1
RSS
Макрос который соберет информацию из интернета span class
 
Есть табличка, в первой колонке ссылки (прикрепил фото)
В ней ссылки типа
https://www.instagram.com/glasha/
https://www.instagram.com/natasha/
https://www.instagram.com/sasha/
https://www.instagram.com/pasha/
https://www.instagram.com/dasha/

Во второй колонке нужно собрать количество подписчиков этих ребят, они пишутся в коде страницы вот тут
<span class="_bkw5z" title="5">5</span> - в данном случае, 5 это количество подписчиков у некой Даши.

Можно ли такое реализовать?
 
Вариант.
 
Юрий М, увы, но кнопочка выдает неверные результаты  
 
Это вместо спасибо? ))
Кнопочка в примере выдаёт верные результаты. Увы, Вам.
 
Юрий, код выдает неверные результаты.
Возможно потому, что ваш код вообще не имеет отношения к задаче
(он считает уникальные, - а не выполняет запрос на сайт, и не берет из кода страницы нужные данные)
 
Игорь, я понял задачу так, что УЖЕ имеются данные на листе и их нужно обработать - посчитать, сколько раз встречаются Даши-Маши.
Если же нужно обращение к Веб-странице, то конечно же мой код этого не делает.
 
Код
Sub Macro1()
    On Error Resume Next
    Dim cell As Range, txt, res$, ra As Range
    Set ra = Range(Range("a1"), Range("a" & Rows.Count).End(xlUp))
    Set IE = CreateObject("InternetExplorer.Application")
    For Each cell In ra.Cells
        If cell Like "http*" Then
            IE.Navigate Trim(cell)
            While IE.busy Or (IE.readyState <> 4): DoEvents: Wend
            txt = IE.Document.body.innerText
            res = "": res = Split(txt, "подписчиков")(0)
            res = Split(res, vbNewLine)(UBound(Split(res, vbNewLine)))
            res = Replace(res, " ", "")
            cell.Next = Val(res)
        End If
    Next cell
    IE.Quit: Set IE = Nothing
End Sub
Изменено: Игорь - 01.11.2016 14:59:23
 
Код
Public Function GetHTTPResponse(ByVal sURL As String) As String
    On Error Resume Next
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    With oXMLHTTP
        .Open "GET", sURL, False
        .send
        GetHTTPResponse = .responseText
    End With
    Set oXMLHTTP = Nothing
End Function

Sub instagr()
Dim html As HTMLDocument
Set html = New HTMLDocument

Set re = CreateObject("VBScript.RegExp")
re.Pattern = "(followed_by"": {""count"": )(\d+)"
re.Global = True

Set r_links = Range(Range("A1"), Range("A" & Rows.Count).End(xlUp))
For Each cell In r_links.Cells
    html.body.innerHTML = GetHTTPResponse(cell)
    Set fff = re.Execute(html.body.innerHTML)
    cell.Next = fff(0).submatches(1)
Next cell
End Sub
Страницы: 1
Читают тему
Наверх