Обговорення користувача:Дядько Ігор/1000+ (17.07.2011 - 07.10.2011)

Обговорення користувача:Дядько Ігор/1000+ (17.07.2011 - 07.10.2011)

Доброго дня, шановний Дядьку Ігоре! ;-)

Зацікавив проект 1000+500+500 - http://uk.wikipedia.org/wiki/Вікіпедія:Проект:1000%2B500%2B та ще кілька, пов'язаних із ним. Для активізації ось вже кілька статтей поліпшив - Користувач:Nickispeaki/топ-1000 і хочеться, щоб інфа отут - http://uk.wikipedia.org/wiki/Вікіпедія:Статті,_які_повинні_бути_в_усіх_вікіпедіях/stat була більш актуальною. Якщо Ваша ласка, то оновіть, будь ласка, список. А якщо покажете мені, як його оновлювати, то буду, за можливості оновлювати щоденно. ХОтілося б залучитит до проекту побільше людей, тоді ми і на перше місце вийшли. А що, в головній (англ.) вікіпедії вже список 1.2? Де вже 3751 стаття? ;-0 http://meta.wikimedia.org/wiki/List_of_articles_every_Wikipedia_should_have/Expanded . Може, варто вже на нього орієнтуватися? --Nickispeaki 14:06, 17 липня 2011 (UTC)Відповісти

Код є на сторінці Користувач:DixonD/Statscode. Там потрібні незначні зміни. Вони очевидні. Щодо ширших списків - вони дуже погані, не дороблені. Треба триматися за 1000, з яких проводиться змагання, а потім, можливо, включитися в розробку ширших. --Дядько Ігор 08:55, 16 серпня 2011 (UTC)Відповісти
А можете ще написати, як і в якій послідовності запускати ті скрипти? Чи, може, де про це вже написано? З повагою, Sergento 14:42, 2 вересня 2011 (UTC)Відповісти
Там, у DixonD, є кілька, бо він підраховував ще кілька списків. Я запускав лише два: get1000List.py та stats.py. Перший отримує список. Другий робить розрахунки. Перший виконується дуже швидко, другий 10-30 хв, в залежності від швидкості мережі. Потім я завантажував сам, не використовуючи pagefromfile.py, але то вже дрібниці. --Дядько Ігор 14:48, 2 вересня 2011 (UTC)Відповісти

Доброго дня. Пробував вичудити аналогічну машинерію, яка б збирала статистику. І зіткнувся з неприємним явищем, що і мій скрипт, і той яким користуєтеся Ви, розпізнає алглійські посилання типу [[File:...]], [[Image:...]] та навіть категорії [[Category:]] як інтервіки і не враховує їх у довжину сторінки. Пробував, наприклад, для англійської статті en:Nile підрахувати цей показник вручну, - витер з тексту інтервіки та коментарі, - вийшло відчутно більше, ніж наведено на сторінці статистики. От-така неприємність. Думав, може Ви знаєте, як з нею боротися? З повагою, Sergento 13:40, 6 жовтня 2011 (UTC)Відповісти

Я не дивився в код. Лише запускав. Він дає ті ж результати, що й офіційній статистиці, наскільки я розумію, тому потреби копатися не було. --Дядько Ігор 14:47, 6 жовтня 2011 (UTC)Відповісти
А де тоді можна подивитися офіційну статистику? Є, для порівняння, щоб там теж були наведені розміри статей і все інше? Sergento 15:02, 6 жовтня 2011 (UTC)Відповісти
на http://meta.wikimedia.org/wiki/List_of_Wikipedias_by_sample_of_articles/Neglected#uk_.D0.A3.D0.BA.D1.80.D0.B0.D1.97.D0.BD.D1.81.D1.8C.D0.BA.D0.B0 є деякі, наприклад.
   def GetInterwikiLength(self, text):
        result = 0
        interwikiPattern = re.compile(r'\[\[([a-zA-Z\-]+)\s?:(?:[^\[\]\n]*)\]\]\n*')
        for interwiki in interwikiPattern.finditer(text):
            lang = interwiki.group(1)
            if lang in wikipedia.Family('wikipedia').langs.keys():
                result += len(interwiki.group(0))

Ось цей кусочок тексту. Тут, наче, стоїть перевірка if lang in wikipedia.Family('wikipedia').langs.keys(): Можна попробувати змінити шаблон. Можна глянути на якомусь прикладі, що воно шукає. --Дядько Ігор 15:02, 6 жовтня 2011 (UTC)Відповісти

Так, саме цей шматок. І регулярний вираз
\[\[([a-zA-Z\-]+)\s?:
шукає текст, де після двох квадратних дужок до двокрапки йде набір великих/малих латинських літер. Тому вирази типу [[File:...]], [[Image:...]] та [[Category:]] теж сюди потрапляють: вони мають таку ж структуру, що й інтервіки. Sergento 15:06, 6 жовтня 2011 (UTC)Відповісти
Але далі виконується перевірка, чи належить знайдений текст до wikipedia.Family('wikipedia').langs.keys() --Дядько Ігор 15:09, 6 жовтня 2011 (UTC)Відповісти
Перевірка є. Не знаю, може задумано й так. Але перевірив на ще кількох статтях - результат той же. Рахуючи вручну, довжина виходить більшою, ніж наведена в таблиці. Якщо буде нагода - перевірте, будь-ласка, ще Ви. Чисто задля спортивного інтересу, може я щось не так роблю. З повагою, Sergento 18:47, 6 жовтня 2011 (UTC)Відповісти
Гм, на en:Nile у мене виходить 52139, що менше від вказаного в таблиці. --Дядько Ігор 19:03, 6 жовтня 2011 (UTC)Відповісти
А у мене 52939. Так, видаляються ж тільки інтервіки і коментарі типу <!-- ... -->? З повагою, Sergento 05:52, 7 жовтня 2011 (UTC)Відповісти
Залишилося тільки провірити raw data. Стаття Nile: 55 369 байтів, 54 307 символів. --Дядько Ігор 06:09, 7 жовтня 2011 (UTC)Відповісти
От незадача :( У мене й тут більше. 55 915 байтів, 55 397 символів. і через api, і якщо скопіювати вихідний текст сторінки з вікна редування. Нічого не розумію. Sergento 06:24, 7 жовтня 2011 (UTC)Відповісти
Символів не може бути більше, ніж байтів. Чи не користуєтеся ви часом програмою Microsoft Word для підрахунку символів? Я взяв кількість байтів з історії редагувань сторінки, а кількість символів мені рахував OpenOffice.org Writer. --Дядько Ігор 06:30, 7 жовтня 2011 (UTC)Відповісти
Схоже, що файл у вас на диску в майкрософтівському форматі. Тобто, кожен перевод рядка записаний як два байти замість одного. На велику статтю набігло приблизно біля 600 переводів рядка. --Дядько Ігор 06:43, 7 жовтня 2011 (UTC)Відповісти
Точно!!! Доки працював на Лінуксі таких проблем не було і все рахувалося правильно. А зараз - ... Дякую за допомогу! Тепер треба ще придумати, що з цим робити. З повагою, Sergento 07:03, 7 жовтня 2011 (UTC)Відповісти
Повернутися на сторінку користувача «Дядько Ігор/1000+ (17.07.2011 - 07.10.2011)».