В Reddit, как скрипты получают количество upvotes и downvotes для комментария?
На Reddit люди могут публиковать комментарии, которые получают upvotes и downvotes. Эта информация не всегда доступна на самой странице, поэтому кажется, что для сбора этой информации используется что-то вроде API.
Я нашелэтот скрипт, который делает это , но не могу определить, откуда в скрипте он извлекает эту информацию. Может ли кто-нибудь указать мне на соответствующую строку, откуда скрипт получает данные?
2 ответа:
Каждый комментарий имеет
data
атрибуты:<div class="thing id-t1_c4upmtm odd comment " onclick="click_thing(this)" data-fullname="t1_c4upmtm" data-ups="646" data-downs="83">
HTML-структуру Reddit действительно трудно проследить, поэтому найдите способ добраться от идентификатора комментария до элемента, содержащего этот материал.
Этот скрипт использует
GM_xmlhttpRequest()
для извлечения данных JSON для данной страницы: comments или user.Данные, возвращаемые
GM_xmlhttpRequest()
, доступны в строке:var jsonText = response.responseText,data;
, а затем анализируется с помощью функции
processTree()
скрипта. На самом деле это не одна строка; для этой функции требуется большая часть скрипта.На страницах комментариев кажется, что использование API-это единственный способ получить голоса вверх и вниз по отдельности.