任何人都可以帮助这个解析器
import getpass, imaplib, email
def split_addrs(s):
if not(s): return []
outQ = True
cut = -1
res = []
for i in range(len(s)):
if s[i]=='"': outQ = not(outQ)
if outQ and s[i]==',':
res.append(email.utils.parseaddr(s[cut+1:i]))
cut=i
res.append(email.utils.parseaddr(s[cut+1:i+1]))
return res
def get_addresses( name, password):
mail=imaplib.IMAP4_SSL('imap.gmail.com')
mail.login( name , password )
print "In email account, accessing \"%s\" All mail...\n"
mail.select('"[Gmail]/All Mail"')
result,data=mail.search(None,"ALL")
ids=data[0].split()[-10:]
print "Processing %d emails...\n" % ( len(ids) )
msgs = mail.fetch(','.join(ids),'(BODY.PEEK[HEADER])')[1][0::2]
addr=[]
print msgs
for x,msg in msgs:
msgobj = email.message_from_string(msg)
addr.extend(split_addrs(msgobj['to']))
addr.extend(split_addrs(msgobj['from']))
addr.extend(split_addrs(msgobj['cc']))
mail.close()
mail.logout()
addr_set = set(addr)
print "Fetched and writing %d unique name and emails to scraped_email.txt...\n" % ( len(addr_set) )
f = open('scraped_emails.txt', 'w')
for each in addr_set:
name, address = each
print "%s, %s" % (name, address)
f.write("%s, %s\n" % (name, address))
f.close()
print "Done"
if __name__ == '__main__':
email_address = raw_input('Enter your email: ')
print "Username: %s" % ( email_address )
get_addresses( email_address, getpass.getpass())
这是我的输出
In email account, accessing "%s" All mail...
处理10封电子邮件......
Traceback (most recent call last):
File "/home/richard/environments/google-tools/gmail-addresses/program.py", line 52, in <module>
get_addresses( email_address, getpass.getpass())
File "/home/richard/environments/google-tools/gmail-addresses/program.py", line 30, in get_addresses
msgobj = email.message_from_string(msg)
AttributeError: 'module' object has no attribute 'message_from_string'
我计划在稍后让文件夹制作,但现在想要尝试并在所有邮件上工作。
任何人都可以发现我的错误
我正在使用python 2.7与Eclipse Pydev IDE
谢谢
在Python 3中所有工作都很好,所以无需帮助
索引组织表 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。如果创建时没有显式的定义主键,那么会有两种策略进行主键的建立。 首先判断表中是否有非空唯一索引,如果有,则该列为主键。如果有多个,则按照顺序选择第一个为主键,该处的顺序指定义索引时的顺序而不是建表时的顺序。联合索引则不会被选为主键。 如果不符合条件1,InnoDB自动创建一个6字节大小的指针。 查询...
记大三中遇到的一些迷茫 生活不是一帆风顺,应当是有起有落,没有伞的孩子,就努力在雨中奔跑吧!相信经历风雨的磨砺,一路上感受到不一样的景色,会变得更加坚强,成为更好的自己~~ 在大二升大三的时候,我记得在暑假期间,给老师发了短信(大二的时候,老师还是比较关注我的,毕竟那时候能力比较好一些),信中是希望老师能够在大三的时候,看能不...
计算机中的数制和编码 1.无符号数的表示及运算 1> 无符号数的表示 其实这部分没什么好说的,首先就是十进制,二进制,十六进制,八进制各自的定义,无非就是逢N进1这种东西.还有就是如何计算各种进制所表示的数的真值是多少.这里只需要注意不要粗心运算错误就好了.最后,n位二进制无符号数的表示范围是:0 ~ (2^n-1) 2> 各种数制的转换 十进制转其他进制: 整数部分:除N取余法; 小...
缓存击穿是什么? 缓存穿透是指查询一个一定不存在的数据,这样的请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁***我们的应用,这就是漏洞。 文末有资料领取方式 讲师简介 Lison老师 复旦大学工程硕士,专注技术十年,产品控、代码控,拥有丰富的项目经验,主持研发了多个成功上线的大型互联网项目。热爱互联网,热衷于各种web技术,精通JAVA、J...
前面两部分我们学习了快速进行数据分析和数据集管理,对OAC(数据分析)平台有了初步的认识。那么我们将多个数据集添加到某个项目时,OAC会尝试在添加的数据集之间匹配列,这种匹配称为关联(或混合)。例如,数据集 A 可能包含可扩展数据集 B 属性的新维。或者,数据集 B 可能包含新事实,您可以将这些新事实与...
Chinese_PRC_CI_AS Chinese_PRC_ 中国大陆 CI 不区分大小写,CS 区分大小写。 case-senstive case-insensitive AccentSensitivity AI 指定不区分重音,AS 指定区分重音。KanatypeSens...
使用position:fixed固定定位可以很方便将元素固定在页面某处。但是它和绝对顶部不同:绝对定位是相对于其position:absolute的父元素来定位;而fixed定位相对于屏幕;这导致在左右分别布局的页面上出现定位的元素在不同显示器或不同型号手机上出现偏差。使用绝对定位能通过相对父元素来保证定位元素在左边某处或右边某处。 此方法有两个步骤:1.需定位元素的css: z-index:&n...
4.1近义词查找 近义词查找转换(Synonym lookup)是DataCleaner标准化和清理数据能力的关键部分。使用此组件,您可以在近义词目录中查找值,如果发现它是近义词,则将其替换为其主项。 下面是近义词查找的配置面板的屏幕截图: 近义词查找的配置很简单: 选择要应用于查找函数的列。 使用 ‘Retain original value’ 选项确定是否应保留不匹配的...
初学者记录自己的学习情况 本贴主要是基于论文(Class-C Harmonic CMOS VCOs, With a General Result on Phase Noise,可以去我的主页下载)的翻译和总结 图片添加比较麻烦,可以直接下载word文档以及参考论文,欢迎讨论 希望给后来的初学者一点帮助 Class-C Harmonic CMOS VCOs Class c 加了反馈k(降低Vbias...
I am developing an iOS app with Cordova and I am using the Facebook-connect plugin for authentification. My problem : sometimes the Facebook Plugin doesn't load early enough so the FB authentification...
I try to run rails application (Rails 4.2.0) in production mode with these settings: config/environment/production.rb config/initializer/assets.rb app/assets/application.js app/assets/photos.js I expe...
Hello i just started learning Jquery and my below code is not working and its not even showing any error in console. The above script is not doing anything when i focus the input box. The same code is...
This path will must be localhost:8080/hotel/:id (id = json.hoteID) Egg: localhost:8080/hotel/101 and this path must show me own datas We should use VueJS vue-router...
I have a struct with two pointers and an int variable. For some reason I am getting a segmentation fault at the line ptr->i=0;. Why is that? I'm pointing to something in the memory, i is not a poin...