Мне нужно извлечь некоторые данные из Instagram. Код работает, но я не могу продолжить код для своих нужд. И да, я полностью новичок и просто скопировал код со всего inte rnet .. Пожалуйста, помогите мне добавить эти функции. Это должно быть легко для тех, кто понимает полный синтаксис этого кода. Он извлекает имя из файла Excel и заполняет остальные с именем, количеством сообщений, подписчиками, подписками и биографией. Работает отлично.
Option Explicit
Public Sub GetInfo()
Dim IE As New InternetExplorer, lastRow As Long, arr(), groupResults()
Const BASE_URL As String = "https://www.instagram.com/"
With ThisWorkbook.Worksheets("Tabelle1")
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Select Case lastRow
Case 1
Exit Sub
Case 2
ReDim arr(1, 1): arr(1, 1) = .Range("A2").Value
Case Else
arr = .Range("A2:A" & lastRow).Value
End Select
ReDim groupResults(0 To lastRow - 2)
Dim results(0 To 4), counter As Long, i As Long
With IE
.Visible = True
For i = LBound(arr, 1) To UBound(arr, 1)
If Len(BASE_URL & arr(i, 1)) > Len(BASE_URL) Then
.navigate BASE_URL & arr(i, 1)
While .Busy Or .readyState < 4: DoEvents: Wend
'Name, Followers, Following,Posts,Biography
Dim aNodeList As Object, ele As Object, t As Date
Const MAX_WAIT_SEC As Long = 5
t = Timer
Do
DoEvents
On Error Resume Next
Set ele = .document.querySelector(".rhpdm")
On Error GoTo 0
If Timer - t > MAX_WAIT_SEC Then Exit Do
Loop While ele Is Nothing
' Application.Wait Now + TimeSerial(0, 0, 2)
results(0) = ele.innerText
Set aNodeList = .document.querySelectorAll(".g47SY")
results(1) = aNodeList.Item(0).innerText
results(2) = aNodeList.Item(1).innerText
results(3) = aNodeList.Item(2).innerText
results(4) = .document.querySelector(".rhpdm ~ span").innerText
Set aNodeList = Nothing: Set ele = Nothing
groupResults(counter) = results
counter = counter + 1
End If
Next
.Quit '<== Remember to quit application
End With
For i = LBound(groupResults) To UBound(groupResults)
.Cells(2 + i, "B").Resize(1, UBound(results) + 1) = groupResults(i)
Next
End With
End Sub
Сайт должен быть удален, например: https://www.instagram.com/kvandahlen/
Теперь мне нужны данные о количестве лайков и количестве комментариев для каждого одно сообщение.
В коде HTML эти точки можно найти по адресу:
<div class="qn-0x" style="background-color: rgba(0, 0, 0.3);">
<ul class="Ln-UN">
<li class="-V_eO">
<span> 1.393</span> ==$0 "" Amount of likes
<span class="_1P1TY coreSpriteHeartSmall"></span>
</li>
<li class="-V_eO">
<span>59</span> "" Amount of Comments
<span class="_1P1TY coreSpriteSpeechBubbleSmall"></span>
</li>
</ul>
Этот код одинаков для всех сообщений, за исключением суммы. Мне нужно извлечение последних 10 (или с изменяемым значением) сообщений. Я пробовал, пробовал и пробовал, но без шансов ... Я не понимаю, что такое мое превосходство ..