为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取Python列表中长文本中的值?

如何获取Python列表中长文本中的值?

吃鸡游戏 2023-09-19 14:12:31
我正在编写一段代码以从 gmail 获取值,但电子邮件本身是 HTML 文件,因此代码也会返回列表中的 html 代码,我无法解析该数据。我的代码:import imaplibORG_EMAIL = "comapnyname.com"FROM_EMAIL = "automation@companyname.co"FROM_PWD = "password123!"SMTP_SERVER = "imap.gmail.com"def read_email_from_gmail():    mail = imaplib.IMAP4_SSL(SMTP_SERVER)    mail.login(FROM_EMAIL, FROM_PWD)    mail.select("inbox")    email_type, data = mail.search(None, "ALL")    mail_ids = data[0]    id_list = mail_ids.split()    latest_email_id = int(id_list[-1])    email_type, data = mail.fetch(str.encode(str(latest_email_id)), "(RFC822)")    string_data = str(data)    print('MAIL Data: ')    print(string_data)read_email_from_gmail()我需要获取值,即“952681”,该值显示了两次,有人可以帮助我吗?
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

如果电子邮件的格式保持不变,您可以使用正则表达式来解析返回的 html 字符串:


import re


pattern = '\*([\s\S]*?)\*'

res = re.findall(pattern, your_email_text)

变量 res 包含您在第二个位置的号码:


['automation+qa1@spekit.co', '952681']


查看完整回答
反对 回复 2023-09-19
  • 1 回答
  • 0 关注
  • 46 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信