Я использую следующий код для удаления указанных c данных с 2 сайтов.
firstclass = input("First class: ")
nestedclass = input("Nested class: ")
classend = input("Class close tag: ")
exportlist = []
def getNames(i): #i is the html string.
i=str(i)
check = i.find(firstclass)
while check != -1:
logging("Making new loop...") #function to show the message together with time in the console
i = str(i)
i = i.replace(firstclass, '\n', 1)
logging("progress = 25%")
i = i.split('\n')
i = str(i[1])
logging("progress = 50%")
i = i.replace(nestedclass, '\n', 1)
i = i.split('\n')
logging("progress = 75%")
i = str(i[1])
i = i.replace(classend, '\n', 1)
logging("Loop done ! ")
i = i.split('\n')
exportlist.append(i[0])
i = str(i[1])
check = i.find(firstclass)
if check < 500 and check!= -1: #This part removes the next data piece,
logging("In short Check") #if it's very close to the previous one.
i = str(i) #In case of double data in short distance
i = i.replace(firstclass, '\n', 1)
i = i.split('\n')
i = str(i[1])
i = i.replace(nastedclass, '\n', 1)
i = i.split('\n')
i = str(i)
i = i.replace(classend, '\n', 1)
i = i.split('\n')
i = str(i)
check = i.find(firstclass), '\n', 1)
Это часть кода, с которой у меня больше всего проблем. Последние 2 недели все работало медленно, но нормально. Даже через 10-20 минут у меня были правильные результаты. Но, возможно, из-за постоянно увеличивающегося размера файла, теперь я получаю это при запуске:
Memmory error.
Я пытался удалить первый класс, но без него он не работает нормально, потому что вложенный существует и за пределами первого класса, и приносит неправильные результаты. Итак, какие-либо предложения, как написать этот код лучше?
Кроме того, я использую Python 64bit. Получил 64 ГБ ОЗУ, что, я думаю, достаточно в этом случае. Если есть способ увеличить объем памяти, который использует python, я готов это сделать.