【发布时间】:2016-12-23 17:11:47
【问题描述】:
我正在寻找使用网络驱动程序编写一个脚本,我需要等待通知电子邮件,然后需要从该电子邮件的链接中获取 URL。
【问题讨论】:
-
您更喜欢哪种语言来解析电子邮件?
-
我的脚本使用 java
标签: email url hyperlink outlook webdriver
我正在寻找使用网络驱动程序编写一个脚本,我需要等待通知电子邮件,然后需要从该电子邮件的链接中获取 URL。
【问题讨论】:
标签: email url hyperlink outlook webdriver
识别 URL 的模式(基于 RFC 3986)
private static final Pattern urlPattern = Pattern.compile(
"(?:^|[\\W])((ht|f)tp(s?):\\/\\/|www\\.)"
+ "(([\\w\\-]+\\.){1,}?([\\w\\-.~]+\\/?)*"
+ "[\\p{Alnum}.,%_=?&#\\-+()\\[\\]\\*$~@!:/{};']*)",
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);
//Usage: email content goes as input here..
Matcher matcher = urlPattern.matcher("foo bar http://example.com baz");
while (matcher.find()) {
int matchOffsetStart = matcher.start(1);
int matchOffsetEnd = matcher.end();
// now you have the offsets of a URL match
}
更新: 如果你想阅读FROM之类的消息头,我建议使用Mime4J
Message msg = new Message(new FileInputStream("mime.msg"));
msg.getFrom() 会给你从。同样,您可以提取任何您想要的内容。
【讨论】: