Найти - Пользователи
Полная версия: Как правильно записывать данные в файл со списка?
Начало » Python для новичков » Как правильно записывать данные в файл со списка?
1
InPython
вот пытаюсь написать простенький парсер ников с форума phpbb
import os, re
from urllib.request import urlopen
n = 0
while True:
n += 50
url = urlopen("http://www.ebay-forum.ru/phpBB2/memberlist.php?mode=joined&order=ASC&start="+str(n))
data = url.read()
s = str(data)
pattern = re.compile("class=\"gen\">([^<]+)</a>", re.U)
result = re.findall(pattern, s)
list(result)
print (result)
f = open("user.txt","w+")
for i in result:
f.writelines(i+'\n')
собсно проблемы: в переменную result попадают нормально все ники, проверяю так: print (result), а вот в user.txt попадают только данные как бы “за один проход цикла”. И вторая проблема с кириллицей в регулярке, вроде добавил флаг re.U, а парсит все равно как “\xca\xee\xeb\xff\xed\xfb\xf7”
подскажи пожалуйста как решить эти вопросы =)
sp3
открывайте файл с флагом “a”
*** Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32. ***
>>> "\xca\xee\xeb\xff\xed\xfb\xf7"
'\xca\xee\xeb\xff\xed\xfb\xf7'
>>> print "\xca\xee\xeb\xff\xed\xfb\xf7"
Коляныч
InPython
открываю с флагом а, все тоже самое.
Больше интересует то что в файл попадает лишь часть переменной result . Подозреваю что там с циклом записи не все в порядке =( Ребята помогите, я новичок в программинге =)
sp3
f.close() незабывай делать
InPython
да это тут роли не играет, здесь только часть скрипта, остальное допишется по мере решения текущих проблем.
InPython
i.decode('windows-1251').encode('utf-8')
вообщем с кодировкой поступил вот так, и все заработало =)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB