Уведомления

Группа в Telegram: @pythonsu

#1 Май 24, 2012 17:19:53

fuckinghikky
Зарегистрирован: 2012-05-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

Есть такой быдлокод:

...
m = imaplib.IMAP4_SSL("imap.gmail.com")
m.login(username, password)
m.select("[Gmail]/Spam")
resp, items = m.search("UTF-8", "ALL")
items = items[0].split()
for emailid in items:
	resp, data = m.fetch(emailid, "(RFC822)")
	email_body = data[0][1]
	mail = email.message_from_string(email_body)
	print mail['To']
        print mail['From']
...
Как правильно спарсить адреса(!нужны только email-ы!) из from && to всех писем на ящике?

Отредактировано fuckinghikky (Май 24, 2012 17:22:23)

Офлайн

#2 Май 24, 2012 17:47:06

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

Офлайн

#3 Май 24, 2012 17:50:07

fuckinghikky
Зарегистрирован: 2012-05-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

fata1ex
а без re никак нельзя ? какими-нибудь надстройками типа email.utils ?

Отредактировано fuckinghikky (Май 24, 2012 17:50:35)

Офлайн

#4 Май 24, 2012 17:53:29

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

Если честно, я не помню. Наверняка есть. Посмотрите документацию, может в email.parser есть вариант. Или email.utils.parseaddr.



Отредактировано fata1ex (Май 24, 2012 17:54:01)

Офлайн

#5 Май 24, 2012 17:54:41

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

А вообще можно только заголовки запрашивать.

imaplib со своими кортежами с кодами возврата и прочие сетевые библиотеки питона - УГ. Я юзал imapclient.



Отредактировано asilyator (Май 24, 2012 17:57:37)

Офлайн

#6 Май 24, 2012 18:21:43

fuckinghikky
Зарегистрирован: 2012-05-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

asilyator
А вообще можно только заголовки запрашивать.

imaplib со своими кортежами с кодами возврата и прочие сетевые библиотеки питона - УГ. Я юзал imapclient.

а если pop3 используется ?
только заголовки тащить можно через email или imap/poplib ?

Отредактировано fuckinghikky (Май 24, 2012 18:22:48)

Офлайн

#7 Май 24, 2012 20:01:57

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

email - для оффлайнового парсинга мыл.

Только хедеры.

imap=imaplib.IMAP4_SSL(“imap.googlemail.com”)
#…
imap.fetch(“*”, "(BODY)")
В pop3 протоколе такая фича, по-моему, вообще отсутствует.



Офлайн

#8 Май 25, 2012 06:56:42

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

asilyator
В pop3 протоколе такая фича, по-моему, вообще отсутствует.
LIST, потом ТОР

TOP
Сервер возвращает заголовки указанного сообщения, пустую строку и указанное количество первых строк тела сообщения.




Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#9 Май 25, 2012 13:45:35

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

IMAP все равно круче, там и поиск есть. Только родная библиотека - УГ.



Офлайн

#10 Май 25, 2012 13:59:34

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Парсинг "To" и "From"

asilyator
IMAP все равно круче, там и поиск есть.
Я с этим и не спорю. Но не везде он есть.

asilyator
Только родная библиотека - УГ.
Вот без обид, мне вспоминается анекдот про вредную слепую девочку и тазик пельменей ;)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version