Википедия:Заявки на статус бота/IEPCBM Bot
User:iEPCBM Bot[править код]
вклад • правки • SUL • журналы • блокировать • лог блокировок • журнал изменения прав • присвоить флаг
Ответственный ботовод/Botmaster: iEPCBM (обс. · вклад · журналы · блокировки · фильтры)
Цель/Purpose[править код]
Флаг бота нужен для редактирования страниц, не входящих в подстраницы ЛС бота. Бот будет заниматься обновлением количества подписчиков и просмотров тех или иных каналов YouTube в карточках {{YouTube персона}}. А в скором времени, возможно, также исправлением (согласно достигнутому консенсусу) и дополнением списков эпизодов таких передач как «This is Хорошо» и «+100500» и, возможно, других программ и сериалов, которые официально загружаются на YouTube.
Примеры правок:
- Special:Diff/88618227
- Special:Diff/88618282
- Special:Diff/88618348
- Special:Diff/88618403
- Special:Diff/88618568 — Примечание: Здесь параметр «подписчики» бот не обновил, т. к. владелец канала скрыл данную информацию.
- Special:Diff/88618679
- Special:Diff/88619191
Лог работы при правках 1–6:
2017-10-27 23:42:05,093 [INFO] === Get subscriber count and view count from all channels === 2017-10-27 23:42:05,093 [INFO] ruWikipedia article title: Участник:IEPCBM Bot/Черновик 2017-10-27 23:42:05,093 [INFO] Getting subscriber count and view count for channel: Maddyblog 2017-10-27 23:42:05,718 [INFO] Subscribers: 723774 2017-10-27 23:42:05,718 [INFO] Views: 76656941 2017-10-27 23:42:05,718 [INFO] Rounded subscribers: 723,7 тыс. 2017-10-27 23:42:05,718 [INFO] Rounded views: 76,65 млн 2017-10-27 23:42:05,718 [INFO] PostRounded subscribers: 723,7 тыс. 2017-10-27 23:42:05,718 [INFO] PostRounded views: 76,65 млн 2017-10-27 23:42:05,718 [INFO] Sleeping for 0.5 seconds (local quota)... 2017-10-27 23:42:06,218 [INFO] ruWikipedia article title: Участник:IEPCBM Bot/Черновик 2017-10-27 23:42:06,218 [INFO] Getting subscriber count and view count for channel: kamikadzedead 2017-10-27 23:42:06,531 [INFO] Subscribers: 1158645 2017-10-27 23:42:06,531 [INFO] Views: 529771908 2017-10-27 23:42:06,546 [INFO] Rounded subscribers: 1,15 млн 2017-10-27 23:42:06,546 [INFO] Rounded views: 529,77 млн 2017-10-27 23:42:06,546 [INFO] PostRounded subscribers: 1,15 млн 2017-10-27 23:42:06,546 [INFO] PostRounded views: 529,77 млн 2017-10-27 23:42:06,546 [INFO] Sleeping for 0.5 seconds (local quota)... 2017-10-27 23:42:07,046 [INFO] ruWikipedia article title: Участник:IEPCBM Bot/Черновик 2017-10-27 23:42:07,046 [INFO] Getting subscriber count and view count for channel: AdamThomasMoran 2017-10-27 23:42:07,359 [INFO] Subscribers: 8589312 2017-10-27 23:42:07,359 [INFO] Views: 1704959081 2017-10-27 23:42:07,359 [INFO] Rounded subscribers: 8,58 млн 2017-10-27 23:42:07,359 [INFO] Rounded views: 1,7 млрд 2017-10-27 23:42:07,359 [INFO] PostRounded subscribers: 8,58 млн 2017-10-27 23:42:07,359 [INFO] PostRounded views: 1,7 млрд 2017-10-27 23:42:07,359 [INFO] Getting subscriber count and view count for channel: MoranDays 2017-10-27 23:42:07,656 [INFO] Subscribers: 1188237 2017-10-27 23:42:07,656 [INFO] Views: 86543292 2017-10-27 23:42:07,656 [INFO] Rounded subscribers: 1,18 млн 2017-10-27 23:42:07,656 [INFO] Rounded views: 86,54 млн 2017-10-27 23:42:07,656 [INFO] PostRounded subscribers: 1,18 млн 2017-10-27 23:42:07,656 [INFO] PostRounded views: 86,54 млн 2017-10-27 23:42:07,656 [INFO] Sleeping for 0.5 seconds (local quota)... 2017-10-27 23:42:08,156 [INFO] ruWikipedia article title: Участник:IEPCBM Bot/Черновик 2017-10-27 23:42:08,156 [INFO] Getting subscriber count and view count for channel: Rakamakafo 2017-10-27 23:42:08,484 [INFO] Subscribers: 3044448 2017-10-27 23:42:08,484 [INFO] Views: 289788573 2017-10-27 23:42:08,484 [INFO] Rounded subscribers: 3,04 млн 2017-10-27 23:42:08,484 [INFO] Rounded views: 289,78 млн 2017-10-27 23:42:08,484 [INFO] PostRounded subscribers: 3 млн 2017-10-27 23:42:08,484 [INFO] PostRounded views: 289,78 млн 2017-10-27 23:42:08,484 [INFO] Getting subscriber count and view count for channel: SOBOLEV 2017-10-27 23:42:08,812 [INFO] Subscribers: 3494607 2017-10-27 23:42:08,812 [INFO] Views: 254971407 2017-10-27 23:42:08,812 [INFO] Rounded subscribers: 3,49 млн 2017-10-27 23:42:08,828 [INFO] Rounded views: 254,97 млн 2017-10-27 23:42:08,828 [INFO] PostRounded subscribers: 3,49 млн 2017-10-27 23:42:08,828 [INFO] PostRounded views: 254,97 млн 2017-10-27 23:42:08,828 [INFO] Sleeping for 0.5 seconds (local quota)... 2017-10-27 23:42:09,328 [INFO] ruWikipedia article title: Участник:IEPCBM Bot/Черновик 2017-10-27 23:42:09,328 [INFO] Getting subscriber count and view count for channel: Ray William Johnson 2017-10-27 23:42:09,656 [INFO] Subscribers: __UNKNOWN__ 2017-10-27 23:42:09,656 [INFO] Views: 3031696067 2017-10-27 23:42:09,656 [INFO] Rounded subscribers: __UNKNOWN__ 2017-10-27 23:42:09,656 [INFO] Rounded views: 3,03 млрд 2017-10-27 23:42:09,656 [INFO] PostRounded subscribers: __UNKNOWN__ 2017-10-27 23:42:09,656 [INFO] PostRounded views: 3 млрд 2017-10-27 23:42:09,656 [INFO] Sleeping for 0.5 seconds (local quota)... 2017-10-27 23:42:10,156 [INFO] ruWikipedia article title: Участник:IEPCBM Bot/Черновик 2017-10-27 23:42:10,156 [INFO] Getting subscriber count and view count for channel: PewDiePie 2017-10-27 23:42:10,468 [INFO] Subscribers: 57653650 2017-10-27 23:42:10,468 [INFO] Views: 16293978550 2017-10-27 23:42:10,468 [INFO] Rounded subscribers: 57,65 млн 2017-10-27 23:42:10,468 [INFO] Rounded views: 16,29 млрд 2017-10-27 23:42:10,468 [INFO] PostRounded subscribers: 57,65 млн 2017-10-27 23:42:10,468 [INFO] PostRounded views: 16,29 млрд 2017-10-27 23:42:10,468 [INFO] Sleeping for 0.5 seconds (local quota)... 2017-10-27 23:42:10,968 [INFO] Current article: Участник:IEPCBM Bot/Черновик 2017-10-27 23:42:10,968 [DEBUG] Waiting for user agree... 2017-10-27 23:42:10,968 [DEBUG] Press <ENTER> to continue... 2017-10-27 23:42:26,750 [INFO] Sleeping for 3 seconds (local quota)... 2017-10-27 23:42:29,765 [VERBOSE] Found 1 wikipedia:ru processes running, including this one. 2017-10-27 23:42:29,781 [DEBUG] Starting new HTTPS connection (1): ru.wikipedia.org 2017-10-27 23:42:30,265 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 2071 2017-10-27 23:42:30,500 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 8378 2017-10-27 23:42:30,593 [INFO] Save description: Бот (тест): Обновление количества просмотров и подписчиков для YouTube канала Maddyblog 2017-10-27 23:42:30,906 [DEBUG] https://ru.wikipedia.org:443 "GET /w/api.php?action=query&rawcontinue=&uiprop=blockinfo%7Cgroups%7Chasmsg%7Crights&meta=userinfo&maxlag=5&format=json HTTP/1.1" 200 393 2017-10-27 23:42:31,109 [DEBUG] https://ru.wikipedia.org:443 "GET /w/api.php?action=query&rawcontinue=&type=csrf%7Ccreateaccount%7Ccsrf%7Cdeleteglobalaccount%7Clogin%7Cpatrol%7Crollback%7Csetglobalaccountstatus%7Cuserrights%7Cwatch&maxlag=5&meta=tokens&format=json HTTP/1.1" 200 331 2017-10-27 23:42:31,125 [INFO] Sleeping for 8.6 seconds, 2017-10-27 23:42:31 2017-10-27 23:42:40,796 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 197 2017-10-27 23:42:40,796 [INFO] Page [[Участник:IEPCBM Bot/Черновик]] saved 2017-10-27 23:42:40,796 [INFO] Current article: Участник:IEPCBM Bot/Черновик 2017-10-27 23:42:40,796 [DEBUG] Waiting for user agree... 2017-10-27 23:42:40,796 [DEBUG] Press <ENTER> to continue... 2017-10-27 23:44:38,046 [INFO] Sleeping for 3 seconds (local quota)... 2017-10-27 23:44:41,046 [DEBUG] Resetting dropped connection: ru.wikipedia.org 2017-10-27 23:44:41,578 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 4442 2017-10-27 23:44:41,890 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 11470 2017-10-27 23:44:42,000 [INFO] Save description: Бот (тест): Обновление количества просмотров и подписчиков для YouTube канала kamikadzedead 2017-10-27 23:44:42,093 [VERBOSE] APISite("ru", "wikipedia").login(False) called when a previous login was in progress. 2017-10-27 23:44:43,265 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 197 2017-10-27 23:44:43,281 [INFO] Page [[Участник:IEPCBM Bot/Черновик]] saved 2017-10-27 23:44:43,281 [INFO] Current article: Участник:IEPCBM Bot/Черновик 2017-10-27 23:44:43,281 [DEBUG] Waiting for user agree... 2017-10-27 23:44:43,281 [DEBUG] Press <ENTER> to continue... 2017-10-27 23:46:42,734 [INFO] Sleeping for 3 seconds (local quota)... 2017-10-27 23:46:45,750 [DEBUG] Resetting dropped connection: ru.wikipedia.org 2017-10-27 23:46:46,234 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 3215 2017-10-27 23:46:46,484 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 5552 2017-10-27 23:46:46,546 [INFO] Save description: Бот (тест): Обновление количества просмотров и подписчиков для YouTube каналов: AdamThomasMoran, MoranDays 2017-10-27 23:46:47,687 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 196 2017-10-27 23:46:47,687 [INFO] Page [[Участник:IEPCBM Bot/Черновик]] saved 2017-10-27 23:46:47,703 [INFO] Current article: Участник:IEPCBM Bot/Черновик 2017-10-27 23:46:47,703 [DEBUG] Waiting for user agree... 2017-10-27 23:46:47,703 [DEBUG] Press <ENTER> to continue... 2017-10-27 23:48:34,328 [INFO] Sleeping for 3 seconds (local quota)... 2017-10-27 23:48:37,343 [VERBOSE] Found 1 wikipedia:ru processes running, including this one. 2017-10-27 23:48:37,343 [DEBUG] Resetting dropped connection: ru.wikipedia.org 2017-10-27 23:48:37,796 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 2573 2017-10-27 23:48:38,031 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 5894 2017-10-27 23:48:38,093 [INFO] Save description: Бот (тест): Обновление количества просмотров и подписчиков для YouTube каналов: Rakamakafo, SOBOLEV 2017-10-27 23:48:38,984 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 197 2017-10-27 23:48:38,984 [INFO] Page [[Участник:IEPCBM Bot/Черновик]] saved 2017-10-27 23:48:38,984 [INFO] Current article: Участник:IEPCBM Bot/Черновик 2017-10-27 23:48:38,984 [DEBUG] Waiting for user agree... 2017-10-27 23:48:38,984 [DEBUG] Press <ENTER> to continue... 2017-10-27 23:53:48,218 [INFO] Sleeping for 3 seconds (local quota)... 2017-10-27 23:53:51,218 [VERBOSE] Found 1 wikipedia:ru processes running, including this one. 2017-10-27 23:53:51,218 [DEBUG] Resetting dropped connection: ru.wikipedia.org 2017-10-27 23:53:51,750 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 2582 2017-10-27 23:53:51,984 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 8422 2017-10-27 23:53:52,062 [INFO] Save description: Бот (тест): Обновление количества просмотров и подписчиков для YouTube канала Ray William Johnson 2017-10-27 23:53:53,281 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 197 2017-10-27 23:53:53,281 [INFO] Page [[Участник:IEPCBM Bot/Черновик]] saved 2017-10-27 23:53:53,281 [INFO] Current article: Участник:IEPCBM Bot/Черновик 2017-10-27 23:53:53,281 [DEBUG] Waiting for user agree... 2017-10-27 23:53:53,281 [DEBUG] Press <ENTER> to continue... 2017-10-27 23:57:11,953 [INFO] Sleeping for 3 seconds (local quota)... 2017-10-27 23:57:14,968 [DEBUG] Resetting dropped connection: ru.wikipedia.org 2017-10-27 23:57:15,515 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 2956 2017-10-27 23:57:15,765 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 10878 2017-10-27 23:57:15,859 [INFO] Save description: Бот (тест): Обновление количества просмотров и подписчиков для YouTube канала PewDiePie 2017-10-27 23:57:17,093 [DEBUG] https://ru.wikipedia.org:443 "POST /w/api.php HTTP/1.1" 200 197 2017-10-27 23:57:17,093 [INFO] Page [[Участник:IEPCBM Bot/Черновик]] saved 2017-10-27 23:57:17,093 [DEBUG] Done! Press <ENTER> to exit... 2017-10-27 23:58:16,859 [VERBOSE] Dropped throttle(s). 2017-10-27 23:58:16,859 [VERBOSE] Dropped throttle(s). 2017-10-27 23:58:16,875 [VERBOSE] Closing network session. 2017-10-27 23:58:16,875 [VERBOSE] Network session closed.
Готов нести ответственность за все совершённые ботом правки.
Технические подробности/Technical details[править код]
- бот написан на языке Python;
- набор инструментов — Pywikibot (PWB);
- для получения информации о канале используется GoogleAPI (Условия использования);
- бот размещен на компьютере, но, возможно, в скором времени переселится в Wikimedia Toolforge;
- исходный код здесь;
- как бот работает:
- Бот собирает данные о количестве подписчиков и просмотров с каждого указанного в list_channels.py канала;
- после получения информации о количестве подписчиков и просмотров одного канала бот приостанавливает работу (в настоящий момент на 0,5 сек, см. bot_config.py: GoogleAPI_MinQuota; со временем этот параметр возможно уменьшу);
- округляет и добавляет "млрд", "млн" или "тыс." при необходимости;
- ждет подтверждения пользователя перед началом обработки N статьи (в течение 1–2 (или более) недель использования этот пункт будет стоять, чтобы отследить возможные ошибки в работе);
- бот приостанавливает работу (в настоящий момент на 3 сек (не учитывая квоту Википедии), см. bot_config.py: wikiMinQuota; со временем этот параметр возможно уменьшу);
- получает wiki-код N статьи;
- проверяет, защищена ли страница от ботов; если да, начинает работать со следующей статьей, начиная с пункта 4;
- ищет в коде шаблон {{YouTube персона}};
- ищет необходимые параметры (см. TemplateYouTubePerson_list.py: TemplateYouTubePerson_list_used_names);
- если необходимый параметр отсутствует, бот его добавляет в конец массива всех параметров;
- бот добавляет/изменяет значение искомых параметров требуемым образом;
- если в значение параметра требуется суффикс, (например, <… (основной канал)>), то он его добавляет в скобки;
- если значений параметра несколько, то бот их вводит маркированным списком (например:) примечание: см. Special:Diff/87914863;
* значение1 * значение2
- затем бот ищет и удаляет несуществующие в шаблоне значения (согласно TemplateYouTubePerson_list.py: TemplateYouTubePerson_list);
- оставшиеся значения бот сортирует согласно шаблону (см. TemplateYouTubePerson_list.py: TemplateYouTubePerson_list);
- потом бот преобразует массив данных (параметр: значение) в текст с учетом указанных отступов (minPaddingBefore, minPaddingAfter, см. bot_config.py) и вставляет его на место прежнего шаблона с его параметрами;
- далее бот составляет описание изменений и, в случае превышения максимально допустимой длины (см. bot_config.py: saveDescMaxLen; 255), его обрезает и добавляет в конец символ(ы) многоточия (см. bot_config.py: dots);
- бот сохраняет изменения и начинает работать со следующей статьей, начиная с пункта 4;
- если статьей больше нет, бот ждет подтверждения пользователя и завершает работу.
Имеется флаг бота в других разделах Википедии?/Already has a bot flag in other wikipedias?[править код]
Нет.
-- iEPCBM (обс.) 21:29, 27 октября 2017 (UTC)
Обсуждение/Discussion[править код]
- Не вижу противопоказаний для присвоения флага. Работа полезная, так как до этого данные о подписчиках и статистике просмотров вносились вручную (при этом часто вносилась откровенная чушь). P.S.: Особенно понравилось то, что ботовод привёл подробное описание принципа работы бота и предоставил исходный код. -- Q-bit array (обс.) 21:49, 25 декабря 2017 (UTC)
- Большое спасибо! -- iEPCBM (обс.) 05:06, 27 декабря 2017 (UTC)
Итог/Summary[править код]
Флаг бота присвоен, удачи в работе. — Adavyd (обс.) 10:37, 3 января 2018 (UTC)
- Большое спасибо! -- iEPCBM (обс.) 09:41, 8 января 2018 (UTC)