我需要从我使用Gmail的IMAP抓取的电子邮件中提取一个非常长的URL(如下示例)。
https://example.com/account/resetpassword?code=e8EkT%2B48uMCHr3Sq4QZVr0%2FVHrTBwQvhYwubjeaKozn29I7VGvWSYNO6VNRLXCK230P%2FklDrFC6BpPI7OF%2F5yawHlux80jqTBhTq2QRS4r7sEnSM9qKV1mIXkTzx%2B5tjakgElg%3D%3D&returnUrl=example.com
但是,当我尝试打印抓取的消息时,我注意到我的长URL里面有一些额外的内容,例如=\r\n
和3D
(请参见下面的示例),或者将其分为几部分=
行。
https://example.com/account/resetpa=\r\nssword?code=3De8EkT%2B48uMCHr3Sq4QZVr0%2FVHrTBwQvhYwubjeaKozn29I7VGvWSYNO6V=\r\nNRLXCK230P%2FklDrFC6BpPI7OF%2F5yawHlux80jqTBhTq2QRS4r7sEnSM9qKV1mIXkTzx%2B5=\r\ntjakgElg%3D%3D&returnUrl=3Dexample.com
https://example.com/account/resetpa=
ssword?code=3De8EkT%2B48uMCHr3Sq4QZVr0%2FVHrTBwQvhYwubjeaKozn29I7VGvWSYNO6V=
NRLXCK230P%2FklDrFC6BpPI7OF%2F5yawHlux80jqTBhTq2QRS4r7sEnSM9qKV1mIXkTzx%2B5=
tjakgElg%3D%3D&returnUrl=3Dexample.com
如何确保长URL中没有添加任何内容,以便以后可以使用它打开?
答案 0 :(得分:2)
我认为带有=
和3D
的格式被称为带引号的可打印格式。 https://en.wikipedia.org/wiki/Quoted-printable
您可以尝试使用quopri.decodestring(string)
。 https://docs.python.org/2/library/quopri.html
答案 1 :(得分:0)
"\r\n"
是回车符,您可以使用urlstring.replace("\r\n", "")
除去它。 %3D
的意思是=
(source),但我不明白为什么这对您来说是个问题。唯一的问题是回车符,它在不同的行上打印您的URL。