26

Re: AHK: Скачивание через GET/POST-запросы

Malcev пишет:

В чём проблема пробежать регуляркой по json и разэкранировать символы?

Судя по опытам, это работает только на количестве лайков меньше тысячи, а когда больше — одна страница куда-то теряется:

post := "-22822305_377885", n := 0, LikesText := LikesList := ""

HTTP := ComObjCreate("WinHTTP.WinHTTPRequest.5.1")
loop
{
   HTTP.Open("POST", "https://vk.com/wkview.php", true)
;   HTTP.SetRequestHeader("Cookie", "remixlang=0")   ; имена на русском
   HTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
   HTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko)")
   HTTP.SetRequestHeader("Pragma", "no-cache")
   HTTP.SetRequestHeader("Cache-Control", "no-cache, no-store")
   HTTP.SetRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT")
   HTTP.Send("act=show&al=1&al_ad=0&offset=" n "&w=likes`%2Fwall" post)
   HTTP.WaitForResponse()
   ResponseText := HTTP.ResponseText
   LikesText .= "`n" ResponseText
   If A_Index = 1
   {
      ResponseText := RegExReplace(ResponseText, "s)<span class=""num_delim"">\s+</span>", "")
      RegExMatch(ResponseText, "s)<span class=""ui_tab_count"".+?>(.+?)<", match)
      if (RegExReplace(match1, "\d+") = "") and (match1 <= 120)
         break
   }
   If InStr(ResponseText, "<!bool><!><!json>")
      break
   If A_Index = 1
      n+=120
   else
      n+=60
}
match := "", Pos := 1  

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
LikesText := RegExReplace(LikesText, "s)\\([""|/])", "$1")
LikesText := RegExReplace(LikesText, "s)\\n\b", "`r`n")
fileappend  % LikesText, %A_desktop%\LikesText.html
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

While Pos := RegExMatch(LikesText, "s)(<div class=""fans_fan_row.+?</a></div>\R</div>)",match,Pos+StrLen(match))
   LikesList .= match1 "`n"
msgbox % clipboard := likesList
;fileappend  % likesList, %A_desktop%\%post%.html

27

Re: AHK: Скачивание через GET/POST-запросы

С чего вы это взяли?
У вас 2176 лайков и на странице показывается 2176 лайков.
В этом можно убедиться, выделив их всех на странице и скопировав исходный код.

28

Re: AHK: Скачивание через GET/POST-запросы

Я на странице вижу 2209 лайков.

29 (изменено: DD, 2018-04-14 18:11:16)

Re: AHK: Скачивание через GET/POST-запросы

Или вы имеете в виду, что их фактически не 2209?

30 (изменено: Malcev, 2018-04-14 18:05:57)

Re: AHK: Скачивание через GET/POST-запросы

Я имею в виду, что если их всех показать на странице в браузере, то их будет 2176.
https://vk.com/wall-22822305_377885?w=l … 305_377885

+ DD

31 (изменено: DD, 2018-04-14 18:11:24)

Re: AHK: Скачивание через GET/POST-запросы

Так и есть, фактически их 2176, хотя ВК показывает число 2209. Спасибо, сам бы я так не копнул)).

32

Re: AHK: Скачивание через GET/POST-запросы

В список не попадают удаленные или "временно заблокированные" профили, хотя во всплывающей подсказке бывают видны.