Python中文
首页
教程
问答
标签
搜索
登录
注册
如何从电子邮件中检索超链接,并访问它?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试使用这个python代码,它将从<code>imap.laposte.net</code>检索我的电子邮件(来自法国,我来自哪里,我住在哪里),然后按照邮件中给定的链接,然后将指定页面之一发送回电子邮件地址。 这项工作的第一部分已经很好了;我在网上找到了几个关于使用<code>imaplib</code>来检索和选择我想要的内容的例子;而且我相信学习如何发送我将访问过的页面也很容易。 但问题是,给定一个电子邮件中的链接,我如何选择它,然后访问给定的页面? 我在<code>data[0].split()</code>中以一种字符串的形式检索电子邮件,然后用Beautiful Soup处理该字符串,就好像它是网页一样,以便从中提取电子邮件中包含的url:</p> <pre><code>import imaplib, rfc822, sys from bs4 import BeautifulSoup server ='imap.laposte.net' username='username' password='VeryStrong' M = imaplib.IMAP4(server) M.login(username, password) M.select() typ, data = M.search(None, 'ALL') for num in data[0].split(): typ, data = M.fetch(num, '(RFC822)') pos1=data[0][1][0:1000].find('entre-infideles') if pos1 != -1: print '06ReadImap: Message %s' % (num) pos2=data[0][1][pos1:].find('Subject') pos3=data[0][1][pos1+pos2:].find('Subject: <PUB>') pos4=data[0][1][pos1+pos2+pos3:].find('votre profil') if pos4 != -1: print '06ReadImap: Pos4(votre profil)=%i' % (pos2+pos3+pos4) print data[0][1][pos1+pos2+pos3:pos1+pos2+pos3+pos4+12] soup=BeautifulSoup(data[0][1]) for link in soup.find_all('a'): print(link.get('href')) sys.exit(0) </code></pre> <p>问题是,它给了我很多链接,当然,所有这些都包含在电子邮件中,但它们是不完整的,我不能使用它们作为URL来“获取”包含HTLM内容的页面;它提供了:</p> ^{pr2}$ <p>如何从电子邮件中的链接中检索完整的URL? 非常感谢, 大卫</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您需要先撤消邮件的内容传输编码。这一个似乎是引用的可打印编码,这让您的HTML解析器很困惑。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
1 回答
文本小部件:在没有输入时更新并在循环后保持空闲
2 回答
文本小部件tkin
10 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
7 回答
文本小部件tkinter复制图像选项
10 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
8 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
10 回答
文本小部件不显示lis中的内容
8 回答
文本小部件不显示Unicode字符
2 回答
文本小部件中写入的行间距
5 回答
文本小部件中的文本作为变量
5 回答
文本小部件中的滚动条仅显示在底部
4 回答
文本小部件中的选项卡键空间计数
7 回答
文本小部件作为Lis
2 回答
文本小部件在主框架中扩展列宽
4 回答
文本小部件未使用删除功能清除
8 回答
文本小部件滚动动画(Tkinter、Python)
2 回答
文本居中。格式正确吗?
9 回答
文本差分算法
5 回答
文本已知时音频文件中的单词索引
4 回答