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

我正在编写一段代码以从 gmail 获取值,但电子邮件本身是 HTML 文件,因此代码也会返回列表中的 html 代码,我无法解析该数据。


我的代码:


import imaplib


ORG_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”,该值显示了两次,有人可以帮助我吗?


吃鸡游戏
浏览 50回答 1
1回答

UYOU

如果电子邮件的格式保持不变,您可以使用正则表达式来解析返回的 html 字符串:import repattern = '\*([\s\S]*?)\*'res = re.findall(pattern, your_email_text)变量 res 包含您在第二个位置的号码:['automation+qa1@spekit.co', '952681']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python