在我的本地 Windows 机器上,我如何编写脚本来每天下载漫画并将其通过电子邮件发送给自己?
更新:我知道如何将图像下载为文件。困难的部分是如何从我的本地 Windows 机器通过电子邮件发送它。
在我的本地 Windows 机器上,我如何编写脚本来每天下载漫画并将其通过电子邮件发送给自己?
更新:我知道如何将图像下载为文件。困难的部分是如何从我的本地 Windows 机器通过电子邮件发送它。
这取决于您想要的精确度。下载整个网页不会太具有挑战性 - 使用 wget,正如 Earwicker 上面提到的那样。
如果你想下载漫画的实际图像文件,你的武器库中需要更多。在 Python 中——因为这是我最了解的——我想你需要使用 urllib 来访问页面,然后使用正则表达式来识别页面的正确部分。因此,您需要知道页面的确切布局和图像的绝对 URL。
例如,对于 XKCD,以下工作:
#!/usr/bin/env python
import re, urllib
root_url = 'http://xkcd.com/'
img_url = r'http://imgs.xkcd.com/comics/'
dl_dir = '/path/to/download/directory/'
# Open the page URL and identify comic image URL
page = urllib.urlopen(root_url).read()
comic = re.match(r'%s[\w]+?\.(png|jpg)' % img_url, page)
# Generate the filename
fname = re.sub(img_url, '', comic)
# Download the image to the specified download directory
try:
image = urllib.urlretrieve(comic, '%s%s' % (dl_dir, fname))
except ContentTooShortError:
print 'Download interrupted.'
else:
print 'Download successful.'
然后,您可以通过电子邮件发送它,但您感觉很舒服。
快速浏览一下 google 会发现两个命令行程序,您应该能够将它们组合成一个批处理文件或使用您选择的脚本语言。
http://www.gnu.org/software/wget/ - 下载
http://www.beyondlogic.org/solutions/cmdlinemail/cmdlinemail.htm - 发送电子邮件
您可以使用控制面板中的 Windows 任务计划程序使其每天运行。
如果您使用 Python,肯定会有方便的库来进行下载/发送电子邮件 - 浏览 Python 官方网站。
在 RSS 提要上配置 feedburner,自己订阅电子邮件警报?
这可能是您到达目标的最短距离。
这并不简单……您需要弄清楚如何解析图像,而花生示例似乎是一个不可预测的 URI,因此获取图像本身可能比看起来更困难。您最好的选择是读取远程网页的 HTML,编写一个正则表达式来解析图像 url。然后邮件功能将正常工作,通过将 mail() 函数中的标题设置为以下内容来发送 HTML 电子邮件:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html;";
$headers .= " charset=iso-8859-1\r\n";
使用邮件中的图像标签。这将让您收到所有连环画一个接一个放置的电子邮件。您的电子邮件软件会执行 HTTP 请求来为您下载图像,因此您可以避免直接附加图像。
通过电子邮件发送它很容易。选择您喜欢的语言的库并阅读文档。通过您的常规电子邮件帐户发送,或为其创建一个新的免费 GMail 帐户。
不过,有时附件确实很棘手。如果不出意外,请使用您最喜欢的任何库来试一试,然后就您遇到的任何问题发布另一个具体问题。
如果您已经知道如何下载文件,这非常简单。下载后,创建一个通过电子邮件将其发送给自己的 cronjob。
使用 phpmailer 之类的东西是通过电子邮件发送它的最简单方法