【问题标题】:accessing link in email message using gmail api使用 gmail api 访问电子邮件中的链接
【发布时间】:2019-03-08 09:07:12
【问题描述】:

我正在尝试访问我从特定电子邮件地址在我的 Gmail 帐户中获得的电子邮件中的链接。到目前为止,使用 GMAIL api 我可以使用文档中的 python 函数 ListMessagesMatchingQuery 获取电子邮件 ID:https://developers.google.com/gmail/api/v1/reference/users/messages/list

然后从这里,我可以使用文档中的 python 函数 GetMessage 检索电子邮件的内容: https://developers.google.com/gmail/api/v1/reference/users/messages/get.

然而,内容的格式是不够的。我想要得到的是来自电子邮件内容的链接,这样我就可以访问它的 HTML 页面然后抓取它。

谢谢

【问题讨论】:

  • 您是否尝试过使用 Users.messages:get 获取该特定字符串,然后将该字符串转换为 url 格式以便您可以访问该链接?

标签: python-3.x http gmail-api


【解决方案1】:

从 Gmail 获取电子邮件内容后,您可以使用 Python 的电子邮件解析器库来解析出 HTML 的 MIME 部分。见:https://docs.python.org/3.7/library/email.parser.html

有了 HTML,您就可以使用 Beautifulsoup 解析任何您想要的内容,请参阅:https://www.crummy.com/software/BeautifulSoup/bs4/doc/

在上面的文档页面中,“一个常见的任务是提取页面标签中的所有 URL”,下面是代码片段:

for link in soup.find_all('a'):
    print(link.get('href'))  

如果电子邮件解析器库告诉您该电子邮件没有 HTML 组件,则您必须查看文本以查找链接(例如,查找“http://”或“https/”)。

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 1970-01-01
    • 2012-03-05
    • 2017-06-19
    • 1970-01-01
    • 2018-11-15
    • 2022-12-12
    • 2017-06-27
    • 2014-10-04
    相关资源
    最近更新 更多