Как вы получили эти данные? Я могу вам сказать, не обработал это вручную.
Я Царапина его и обработал его программно. Я использовал LibreOffice Calc, чтобы сделать формулы, определяющие то, что пользователи соответствуют критериям.
Поделитесь программами?
Я думаю, что я мог бы поделиться список пользователей вместо этого, я оставил скребок управление участка над праздником, ни одна точка на другой странице 200K не попадает, чтобы получить те же данные.
Просто чтобы показать, что он взял какую-то работу, вот некоторый код со страницей полевого нахождения:
Линии = got.splitlines ()
если Len (линии) < 24:
Продолжать
TempList = [ул (usernum), '', '', '', '', '']
lineindex = [ 'Name:', 'Сообщений:', 'активность:', 'Дата регистрации:', 'Последнее посещение:']
для я в xrange (23, длина (строки) -2, 1):
п = строка [я] .strip ( '\ т') [7: -9] .strip ()
если Len (п) > 2 и пер [-1] == ':':
для дж xrange (Len (lineindex)):
если пер == lineindex [J]:
TempList [J + 1] = (строки [+ 1] .strip ( '\ т') [4: -5])
Чтобы получить такую строку (который я захватил с тех пор я отбрасываюсь входными файлы):
56964, whiskers75, 767, 406, 29 апреля 2012, 6:22:52 AM, <б>Cегодня б> в 03:51:15 PMЯ преобразовал даты в время ISO с пост-обработкой на загруженном CSV, а также не предвидит хлопоты, вызванных пользователей с запятыми и случайным дерьмом в именах пользователей, так как мой загрузчик сделал запятую отделено списка вместо вкладки, цитаты, или какой-либо другой символ экранирования вокруг имен пользователей. Я установил их вручную, вместо того, чтобы делать работу переписывания скребка в другой формат.
Вот фрагмент определения даты:
month_dict = {"январь": '01', "февраль": '02', "Март": '03', "апрель": '04', "май": '05', "июнь": '06',
"июль": '07', "августейший": '08', "сентябрь": '09', "октября": '10', "ноябрь": '11', "Декабрь": '12'}
если г [7] [12] == '<б>Cегодня б>«:
datetimel = '2013-12-31T00: 00: 00'
Элиф г [7] [: 5] == 'Никогда':
datetimel = 'Никогда'
еще:
мкр = г [7] .split ()
м = мкр [0]
д = мкр [1]
t_ap = г [9] .split ()
т = t_ap [0]
ар = t_ap [1]
HMS = t.split ( ':')
если ап == 'AM' и ГМС [0] == '12':
HMS [0] = '00'
если ап == 'PM' и ГМС [0] = '12':
HMS [0] = Str (Int (HMS [0]) + 12)
HMS = ':'. присоединиться (HMS)
м = month_dict.get (м)
datetimel = г [8] + '-' + т + '-' + D + 'T' + HMS
после того, как (ваша статистика с момента, когда я получил список)
56964 whiskers75 731 392 2012-04-29T06: 22: 52 2013-12-31T00: 00: 00Я написал это как неактивный видоискатель, так "Cегодня" получил волшебную дату.
Для того, чтобы найти недостающие номера, это было быстрее искать пробела, чем использовать некоторые питон-эска список постижения класса генератора размораживания:
nonlist = []
для г в xrange (Len (memnumlist)):
Если я > Len (memnumlist) -2:
Продолжать
еще:
если memnumlist [+ 1] - memnumlist [я] > 1:
nonlist.extend (диапазон (memnumlist [я] + 1, memnumlist [+ 1]))