Кажется скрипт, для парсинга комментариев розыгрыша, работает как надо

Надеюсь он не подведёт т.к. вручную коменты перебирать будет очень долго.

Кажется скрипт, для парсинга комментариев розыгрыша, работает как надо

Also, приятно было поработать с JS после длительного времени не использования его, но всё равно возвращаться на него не буду. Всё равно в веб не хочу идти, а для всего остального есть другие языки (Kotlin 💖)

Кому интересно вот код скрипта:

var commentsWrapper = document.getElementsByClassName("comments__content")[0] var rawComments = commentsWrapper.getElementsByClassName("comment") var comments = [] for (const comment of rawComments) { const author = comment.getElementsByClassName("comment__author")[0] if (author) { const authorName = author.textContent.trim() const commentURL = comment.getElementsByClassName("comment__detail")[0].getAttribute("href") const commentTextDiv = comment.getElementsByClassName("comment__text") var text = "NULL" if(commentTextDiv.length != 0) { text = commentTextDiv[0].textContent.trim() } const attaches = comment.getElementsByClassName("andropov_link") var link = "NULL" if (attaches.length != 0) { link = attaches[0].getAttribute("href") } comments.push(`[${commentURL}] ${authorName} пишет:\n\n${text}\n\nПрикреплено: ${link}`) } } console.log(comments)

UPD: Теперь берёт не первую прикреплённую ссылку, а все + счетчик добавил

var commentsWrapper = document.getElementsByClassName("comments__content")[0] var rawComments = commentsWrapper.getElementsByClassName("comment") var comments = [] for (const comment of rawComments) { const author = comment.getElementsByClassName("comment__author")[0] if (author) { const authorName = author.textContent.trim() const commentURL = comment.getElementsByClassName("comment__detail")[0].getAttribute("href") const commentTextDiv = comment.getElementsByClassName("comment__text") var text = "NULL" if(commentTextDiv.length != 0) { text = commentTextDiv[0].textContent.trim() } const attaches = comment.getElementsByClassName("andropov_link") var link = [] if (attaches.length != 0) { for (const attach of attaches) { link.push(attach.getAttribute("href")) } } comments.push(`[${commentURL}] ${authorName} пишет:\n\n${text}\n\nПрикреплено: ${link}`) } } console.log(comments) { var oriCounter = 0 var ultraCounter = 0 var undertaleCounter = 0 var noitaCounter = 0 var hollowCounter = 0 var ednaCounter = 0 const oriValue = "Ori and the Will of the Wisps".toLocaleLowerCase() const ultraValue = "ULTRAKILL".toLocaleLowerCase() const undertaleValue = "Undertale".toLocaleLowerCase() const noitaValue = "Noita".toLocaleLowerCase() const hollowValue = "Hollow Knight".toLocaleLowerCase() const ednaValue = "Edna & Harvey: The Breakout - Anniversary Edition".toLocaleLowerCase() for (const comment of comments) { const formated = comment.trim().toLocaleLowerCase() if (formated.includes(oriValue)) { oriCounter++ } if (formated.includes(ultraValue)) { ultraCounter++ } if (formated.includes(undertaleValue)) { undertaleCounter++ } if (formated.includes(noitaValue)) { noitaCounter++ } if (formated.includes(hollowValue)) { hollowCounter++ } if (formated.includes(ednaValue)) { ednaCounter++ } } console.log(`oriCounter: ${oriCounter}`) console.log(`ultraCounter: ${ultraCounter}`) console.log(`undertaleCounter: ${undertaleCounter}`) console.log(`noitaCounter: ${noitaCounter}`) console.log(`hollowKnight: ${hollowCounter}`) console.log(`ednaCounter: ${ednaCounter}`) console.log(`sum ${oriCounter + ultraCounter + undertaleCounter + noitaCounter + hollowCounter + ednaCounter}`) }
77
7 комментариев

Невольнуйся, я уже начинаю дэдосить 😉

1
Ответить

Ctrl+F и генератор случайных чисел

Ответить

Скрипт вообще-то просто комментарии собирает чтобы было удобно скопировать, а дальше ручками Random.org -> Ctrl+F

Но я мог бы просто вручную скопировать комменты и не выебываться, но это ересь

1
Ответить

А как это работает на деле?

Ответить