python解密(LinkedIn)领英邮箱激活链接验证并获取真实验证链接

在我们抓取领英(LinkedIn)数据的时候,可能需要账号注册。

通过邮箱注册的时候,领英官网会发送激活链接

我们需要通过程序自动拿到此激活链接,

拿到以后在此激活页面访问,即可激活邮箱账户,

但是通过程序拿到的邮箱文本内容中的链接是经过混淆加密的,

经过一番研究以后成功进行解密。

直接上可以解密的代码:


        import imaplib,re
        def get_email_href(email, password):
        try:
            conn = imaplib.IMAP4_SSL("imap-mail.outlook.com", 993)
            conn.login(email, password)
            print('邮箱登录成功!')
            INBOX = conn.select("INBOX")
            type, data = conn.search(None, 'ALL')
            msgList = data[0].split()
            last = msgList[len(msgList) - 1]
            type, datas = conn.fetch(last, '(RFC822)')
            with open('ema2.txt', 'w')as f:
                f.write(datas[0][1].decode('utf-8'))
            with open('ema2.txt')as f:
                res = f.read()
            a = res.replace('\n', 'nulL').replace("nulLnulLnulLnulL", 'NULL')
            a = a.replace("nulL", '')
            b = re.findall('"(https://www.linkedin.com/comm/psettings/email/confirm.*?)"', a)[0]
            text1 = b.replace("=3D", '=').replace('amp;', '')
            href = text1.replace('=', '').replace('?sig', '?sig=').replace('&id', '&id=').replace('&ct','&ct=').replace('&midToken', '&midToken=').replace('&trk', '&trk=').replace('&trkEmail', '&trkEmail=').replace('&lipi','&lipi=')
            conn.logout()
            return href
        except:
            return "null"

首先导入 imaplib库用来获取邮箱中的邮件

(不会用,可以看我的另一篇文章 python收邮件读邮件imaplib)

get_email_href 函数需要邮箱账号和密码两个参数


切记 :

不同的邮箱需要把imaplib.IMAP4_SSL函数中的参数更改为自己的邮箱服务

我使用的是hotmail的邮箱 故这样使用

conn = imaplib.IMAP4_SSL("imap-mail.outlook.com", 993)

不知道邮箱服务的端口和服务地址的,

去百度或者自己邮箱官网查看一下就行。


猜你喜欢

转载自blog.csdn.net/m0_38124502/article/details/80681311