python定時傳送郵件 爬蟲監控 爬蟲定時啟動

2021-10-04 12:12:17 字數 4125 閱讀 7519

from email.mime.text import mimetext

from smtplib import smtp

defsend_email

(self,text)

:'''

傳送郵件

:param text:

:return:

'''# 定義發件人

msg_from =

'******[email protected]'

# 授權碼

password =

'ndivp***xewagahi'

# 發件人

msg_to =

'*********@qq.com'

#收件人多個人用;分隔

# 主題

subject = text[0]

# 建立郵件物件

msg = mimetext(text[1]

,'plain'

,'utf-8'

) msg[

'from'

]= msg_from

msg[

'to'

]= msg_to

msg[

'subject'

]= subject

try:# 建立smtp物件(郵件傳輸協議)

smtp = smtp(

)# 連線qq伺服器

smtp.connect(

'smtp.qq.com',25

)# 登入

smtp.login(msg_from, password)

# 傳送

smtp.sendmail(msg_from,msg[

'to'

].split(

';')

,msg.as_string())

print

('傳送成功!'

) smtp.close(

)except exception as e:

print

('郵件傳送失敗!'

,e)

# -*- coding:utf-8 -*-

import requests

import random

from lxml import etree

import urllib

import os

from email.mime.text import mimetext

from smtplib import smtp

import schedule

import time

class

sleepstory

(object):

def__init__

(self, url)

: self.url = self.init_url(url)

definit_url

(self, url)

:'''

確定爬取的頁數(生成隨機數)

:rtype: object

:param url:

:return:

'''page = random.randint(0,

71)if page ==0:

return url.

format(''

)else

:return url.

format

('_'

+str

(page)

)def

get_xpath

(self, url)

: headers =

response = requests.get(url=url, headers=headers)

# etree.html(response.text) 構造了乙個xpath解析物件

return etree.html(response.content.decode(

'utf-8'))

defparse_story

(self, url)

:'''

獲取故事類容,傳送郵寄

:param url:

'''html = self.get_xpath(url)

story_name = html.xpath(

'//h1/text()')[

0]story_content = html.xpath(

'string(//div[@class="t_news_txt"])'

)# os.linesep 系統換行

self.send_email(

(story_name, story_content)

)def

send_email

(self,text)

:'''

傳送郵件

:param text:

:return:

'''# 定義發件人

msg_from =

'*********@qq.com'

# 授權碼

password =

'ndivpszxxewagahi'

# 發件人

msg_to =

'******[email protected]'

#收件人多個人用;分隔

# 主題

subject = text[0]

# 建立郵件物件

msg = mimetext(text[1]

,'plain'

,'utf-8'

) msg[

'from'

]= msg_from

msg[

'to'

]= msg_to

msg[

'subject'

]= subject

try:# 建立smtp物件(郵件傳輸協議)

smtp = smtp(

)# 連線qq伺服器

smtp.connect(

'smtp.qq.com',25

)# 登入

smtp.login(msg_from, password)

# 傳送

smtp.sendmail(msg_from,msg[

'to'

].split(

';')

,msg.as_string())

print

('傳送成功!'

) smtp.close(

)except exception as e:

print

('郵件傳送失敗->'

,e)def

parse

(self)

:# 先獲取該頁面的所有dd_list

html= self.get_xpath(self.url)

dd_list = html.xpath(

'//dl[@class="txt_box"]/dd'

)# 在從中重新取出s乙個

dd_choice = random.choice(dd_list)

# 獲取詳情頁連線

story_url = dd_choice.xpath(

'./a/@href')[

0]story_url = urllib.parse.urljoin(self.url,story_url)

self.parse_story(story_url)

defmain()

: base_url =

''schedule.every(

).day.at(

"21:00:00"

)# 每天21:00:00觸發

schedule.every(

).day.at(

"14:00:00"

) schedule.every(5)

# 每5秒觸發,用於除錯的

while

true

: schedule.run_pending(

) time.sleep(1)

if __name__ ==

'__main__'

: main(

)

python實現定時傳送郵件

import schedule import time import smtplib from smtplib import smtp ssl from email.mime.text import mimetext from email.mime.multipart import mimemult...

定時傳送郵件

香港那邊的公司的erp糸統是bs模式,由於對方公司伺服器環境條件與解決方案要簡單的限制,我和我師傅決定用第三種方法。在程式設計之前,先介紹一下global.asax檔案裡的幾個方法。protected void protected void 下面是具體的做法 protected void new t...

delphi郵件定時傳送

unit smtp inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,idbasecomponent,idcomponent,idtcpconnection...