Python电子邮件:当尝试获取HREF链接值时,值不会与等号(=)一起保存

2024-04-25 20:22:03 发布

您现在位置:Python中文网/ 问答频道 /正文

特别是我正在寻找一个电子邮件与主题'您的预订已确认我试着点击邮件正文中的链接。我的代码通常在确认邮件发送后立即运行,我将进一步优化它以打开第一封带有此主题行的电子邮件。你知道吗

代码如下所示。我试图获取的超链接包含“=”,但在打印或返回时,程序似乎完全删除了等号(=)。显然,我需要写更多的东西才能发布这个。你知道吗

我不知道还能怎么写,但假设我有一个属性

你知道吗https://stackoverflow.com/php。?i=857398425237459“>; 我在代码中的“value”将返回“https://stackoverflow.com/php.?i857398425237459”。这使得我无法正确获取链接信息以备将来使用。你知道吗

import imaplib
import email
import quopri
import HTMLParser
import time
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup


class parseLinks(HTMLParser.HTMLParser):
    def handle_starttag(self, tag, attrs):
        global global_futures_fair_value
        if tag == 'a':
            for name, value in attrs:
                if name == 'href':
                    #print name
                    print value.type()
                    linkList.append(value)

def gmailLogin(username, password):

    M = imaplib.IMAP4_SSL('imap.gmail.com')

    M.login(username, password)
    M.select('Inbox')

    rv, data = M.search(None, 'ALL')
    mail_ids = data[0]
    id_list = mail_ids.split()
    latest_email_id = int(id_list[-1])
    typ, msg_data = M.fetch(latest_email_id, '(RFC822)')

    msg = email.message_from_string(msg_data[0][1])
    msg = str(msg.get_payload()[1])
    msg = quopri.decodestring(msg)

    linkParser = parseLinks()
    linkParser.feed(msg)
    M.close()
    M.logout()
    print linkList[0]
    return str(linkList[0])

linkList = []
browser = webdriver.Chrome()
answer = gmailLogin('USERNAME','PASSWORD')
browser.get(answer)

Tags: 代码namefromimportcomiddatavalue