Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2011 23:35:18

Megido
От:
Зарегистрирован: 2010-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите составить Регулярку

я вобщем не особо шарю питоньи регулярки
вотя начал:
>>> r=re.compile(r'^<operator id=“(\d+)” name=“(\w+)” label=“(\w+)” tld=“(\w+)” country=“(\w+)” publish=“(\d+)”</operator>$', re.IGNORECASE)
>>> s=urllib2.urlopen('http://www.logofon.ru/xml/ips.xml').read()
>>> re.findall(r,s)

и пусто

хз может чего не так сделал,

кстати там еще ипы нужно забрать их я вобще хз как



Отредактировано (Июль 14, 2011 23:37:32)

Офлайн

#2 Июль 14, 2011 23:51:06

Megido
От:
Зарегистрирован: 2010-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите составить Регулярку

сделал вот так так интерпритатор завис нафиг :/

>>> r=re.compile(r'<operator id=“(\d+)” name=“(.*?)” label=“(.*?)” tld=“(.*?)” country=“(.*?)” publish=“(\d+)”</operator>', re.IGNORECASE | re.DOTALL)
>>> re.findall(r,s)



Офлайн

#3 Июль 15, 2011 00:03:07

Megido
От:
Зарегистрирован: 2010-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите составить Регулярку

а все , отбой я раздуплился. оно висело бо я забыл че там еще куча ипов
в общем вот так работает
r=re.compile(r'<operator id=“(\d+)” name=“(.+?)” label=“(.+?)” tld=“(.+?)” country=“(.+?)” publish=“(\d+)”.*?</operator>', re.IGNORECASE | re.DOTALL)

осталось ипы забрать



Офлайн

#4 Июль 15, 2011 02:00:26

Megido
От:
Зарегистрирован: 2010-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите составить Регулярку

забрал
вот вобщем если надо кому, гугл смотри сюда “ip база логофона python”

import urllib2,re

def cp1251(x):
return x.decode('cp1251')
re_ip=re.compile(r'<operator id=“(\d+)” name=“(.*?)” label=“(.*?)” tld=“(.*?)” country=“(.*?)” publish=“(\d+)”.+?<range (.*?)</operator>', re.IGNORECASE | re.DOTALL)
data=urllib2.urlopen('http://www.logofon.ru/xml/ips.xml').read()
x = re.findall(re_ip,data)


ip=x // это массив с ипами обращатся так: x

operator_id=int(x)
name=cp1251(x)
label=x
tld=x
country=cp1251(x)
publish=x



Отредактировано (Июль 15, 2011 17:10:51)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version