на моей локальной машине Windows, как я пишу сценарий, чтобы загружать комикс каждый день и посылать его по электронной почте мне?

По умолчанию для позиции является position: static;

5
задан nopole 26 May 2009 в 16:45
поделиться

6 ответов

Отправить по электронной почте очень просто. Выберите библиотеку на своем любимом языке и прочтите документацию. Отправьте его через свою обычную учетную запись электронной почты или создайте для него новую бесплатную учетную запись GMail.

Тем не менее, иногда вложения действительно могут быть сложными. По крайней мере, поработайте с любой библиотекой, которая вам больше всего нравится, и задайте еще один конкретный вопрос о любых проблемах, с которыми вы столкнетесь.

1
ответ дан 18 December 2019 в 10:48
поделиться

Это зависит от того, насколько точным вы хотите быть. Загрузка всей веб-страницы не будет слишком сложной задачей - используя wget, как упоминает Эрвикер выше.

Если вы хотите, чтобы фактический файл изображения комикса был загружен, вам понадобится немного больше в вашем арсенале. В 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.'

Затем вы можете отправить его по электронной почте, как вам удобно.

8
ответ дан 18 December 2019 в 10:48
поделиться

Настроить feedburner для RSS-канала, подписаться на уведомления по электронной почте?

2
ответ дан 18 December 2019 в 10:48
поделиться

Беглый взгляд на Google показывает две программы командной строки, которые вы должны быть в состоянии соедините вместе в пакетном файле или используя язык сценариев по вашему выбору.

http://www.gnu.org/software/wget/ - для загрузки

http: //www.beyondlogic .org / solutions / cmdlinemail / cmdlinemail.htm - для отправки электронного письма

Вы можете использовать планировщик задач Windows на панели управления, чтобы запускать его ежедневно.

Если вы используете Python, наверняка вы собираетесь быть удобными библиотеками для загрузки / отправки по электронной почте - просмотрите официальный сайт Python.

3
ответ дан 18 December 2019 в 10:48
поделиться

Вот, пожалуй, кратчайшее расстояние до вашей цели.

Это непросто ... вам нужно будет понять, как разобрать изображение, и пример с арахисом кажется непредсказуемый URI, поэтому получить само изображение может быть сложнее, чем кажется. Лучше всего прочитать HTML удаленной веб-страницы, написать регулярное выражение , чтобы проанализировать URL-адрес изображения. Тогда функция почты будет работать нормально, отправьте электронное письмо в формате HTML, установив заголовки в функции mail () примерно так:

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html;";
$headers .= " charset=iso-8859-1\r\n";

С тегами изображений в почте. Это позволит вам получать электронные письма со всеми вашими комиксами, размещенными один за другим. Ваше почтовое программное обеспечение будет выполнять HTTP-запросы на загрузку изображений для вас , чтобы вам не приходилось прикреплять изображения напрямую.

1
ответ дан 18 December 2019 в 10:48
поделиться

Это довольно просто, если вы уже знаете, как загрузить файл. После его загрузки создайте задание cron, которое отправит его вам по электронной почте.

Использование чего-то вроде phpmailer было бы самым простым способом отправить его по электронной почте

http://phpmailer.codeworxtech.com/index.php?pg=examplebmail

1
ответ дан 18 December 2019 в 10:48
поделиться