Ed
Хорошо. Теперь нужно сократить цикл заполнения ty. Здесь нам понадобится вот такой вот списочек:
keywords = ['Участ', 'Кажд', 'Лог' ....ну и так далее]
Используя цикл for num, keyword in enumerate(keywords):
можно эту задачу решить.
Блин вот тут уже сложнее, список создал вот такой:
#-*- coding: cp1251 -*-
"""
Created on Tue Jun 05 19:35:11 2012
@author: Dimazzzzzz
"""#/usr/bin/python
import urllib
import numpy as np
rasnost = []
Data =[]
Blitz1 = []
Stavka2 = []
Igrok2 = []
Typs = [[]] * 10
for J in xrange(803311466, 803311500):
url='http://www.vezetmne.ru/auctions/'+str(J)
urllib.urlretrieve(url=url, filename='COD.html')
infile = open('COD.html')
lines = infile.readlines()
print J
for i in range(len(lines)):
line = lines[i]# так короче
if 'cbid=alterStep' in line:
rasnost.append(np.float(line.strip()[24:28]))
if 'item_bigcell' in line:
types = [lines[i+1].strip()[10:40], lines[i+2].strip()[10:40], lines[i+3].strip()[10:40], lines[i+4].strip()[10:40], lines[i+5].strip()[10:40]]
if 'Аукцион завершен' in line:
Data.append(line.strip()[-28:-19])
if 'Блиц-цена' in line:
Origin = line.strip()[91:97]
if '.' in Origin:
Orig = Origin[0:5]
else:
Orig = Origin
if '.' in Orig:
AA = Orig[0:4]
else:
AA = Orig
if '.' in AA:
BB = AA[0:3]
else:
BB = AA
if '.' in BB:
Blitz1.append(np.int(BB[0:2]))
else:
Blitz1.append(np.int(BB))
if '<div class="history" id="history">' in line:
Stavka1 = lines[i+3].strip()[21:50]# stavka.append(line.strip()[21:30])
Stavka2.append(np.float(Stavka1[0:Stavka1.find('р')]))
Igrok1 = lines[i+3].strip()[21:-24] # А вот для ника возьмем с минусом
Igrok2.append(Igrok1[Stavka1.find('р')+26:])
ty = []
keywords = ['Участ', 'Кажд', 'Лог', 'Днев', 'Один', 'Аукцион для', 'Ставок', 'Фикс', '100', 'Бесп']
for q in range(len(types)):
for num, keyword in enumerate(keywords):
ty.append(num)
#if 'Участ' in types[q]:
# Не требует свободных лотов (+)
#elif 'Кажд' in types[q]:
# ty.append(2) # Ограниченное количество ставок (+)
#elif 'Лог' in types[q]:
# ty.append(3) #'Логины зашифрованы'(+)
#elif 'Днев' in types[q]:
# ty.append(4) #'Дневной'(+)
#elif 'Один' in types[q]:
# ty.append(5) #'С блефом' (+) - Внезапно ОО
# elif 'Аукцион для' in types[q]:
#ty.append(6) #' Для новичков' (+)
# elif 'Ставк' in types[q]:
# ty.append(7) #'На понижение'
# elif 'Фикс' in types[q]:
# ty.append(8) #'Фиксированная цена'
# elif '100' in types[q]:
# ty.append(9) #'100% скидка'
#elif 'Бесп' in types[q]:
# ty.append(10) #'Бесплатные ставки'
# else:
# ty.append(0)
for u in range(len(Typs)):
Typs[u].append(int(u+1 in ty))
print rasnost, '\n', Blitz1, '\n', Stavka2, '\n', Igrok2, '\n', Data
W = np.array(rasnost)
Blitz = np.array(Blitz1)
Stavka = np.array(Stavka2)
Mtyp1 = np.array(Typs)
Я немного не представляю, ведь первый номер num - это 0, получается если он найдет “участ”, то присвоит 0. Какой keyword надо туда вставить, чтобы он означал все остальное, кроме этих ключевых слов?
P.S. Поздравляю с 1000 и золотой полоской заранее

)))))