通过脚本与网页交互?

通过脚本与网页交互?

我有一个电子邮件帐户,最后我得到了很多垃圾邮件文件夹中有 (200 000) 条邮件。不幸的是,这并不全是垃圾邮件 - 部分原因是过滤器训练不当,部分原因是邮件列表摘要包含触发过滤器的许多消息中的一两条消息。

我想下载这些邮件,但由于邮件数量过多,除了 INBOX 和 IMAP 之外,POP 无法访问任何文件夹(服务器崩溃)。

我不得不使用网络邮件将邮件从垃圾邮件移动到收件箱 - 通过执行“等待页面加载”、“标记所有邮件”、“选择收件箱”、“将标记的邮件移动到所选文件夹”。 .. ...然后重复!但由于每页只有 500 或 1000 条消息,移动 100 000 条消息将需要大量工作。

有没有自动执行此操作的好方法?

我考虑过使用expectwithlynxlinks,但是网络邮件界面使用了一些 JavaScript,所以我怀疑它是否能工作... wget(据我所知)不适合这样的事情...是否有一种方法可以“远程控制” chromefirefox或者opera(或X本身)通过脚本?

我真正寻找的(我猜)是某种“虚拟网络浏览器”,它的工作方式与普通网络浏览器类似,但由脚本控制......

答案1

如果 Web 界面使用 javascript 并且没有它就无法运行,那么您应该使用直接使用您选择的编程语言(或者如果您使用Python,您也可以使用抽象层,例如碎片

需要 JavaScript 来运行而根本不需要 JavaScript 的网站已经越来越不常见了。不过,您可以通过暂时关闭浏览器中的 JavaScript 来轻松检查这一点。如果不需要 javascript,但需要 cookies,那么可以使用 selenium 等不太重的机制(例如 python +机械化。除了 URL 之外,您通常还必须处理从登录到请求以及从请求到请求的 cookie,这在 selenium(和机械化)中是微不足道的,但在使用wget等时并不那么容易。

另一种方法是,如果您可以毫无问题地下载收件箱,则将邮件从收件箱移动到某个临时存储,将所有垃圾邮件文件夹内容移到您的收件箱,然后下载收件箱,将其清除并从中恢复收件箱临时存储。

相关内容