python - Sending e-mail after scrape in scrapy -


pipeline.py कोड

  वर्ग Examplepipeline (वस्तु) : डीईएफ़ __init __ (स्वयं): dispatcher.connect (self.spider_opened, संकेत = signals.spider_opened) dispatcher.connect (self.spider_closed, संकेत = signals.spider_closed) डीईएफ़ spider_opened (स्वयं, मकड़ी): log.msg ( "खोला मकड़ी % s समय में% s "% (। spider.name, datetime.now () strftime ( '% एच% एम% S'))) डीईएफ़ process_item (स्वयं, मद, मकड़ी): log.msg (" Processsing आइटम "+ आइटम [ 'शीर्षक'], स्तर = log.DEBUG) डीईएफ़ spider_closed (स्वयं, मकड़ी): log.msg ("। बंद मकड़ी%% s "% (spider.name, datetime.now पर रों () strftime ( '% एच% एम% S')))   

ऊपर मकड़ी कोड में, यह शुरू करने से समय और मकड़ी के समाप्त होने के समय प्रदर्शित करेगा, लेकिन अब पूरी होने के बाद मकड़ी, मैं एक मेल प्राप्त करना चाहता हूं कि "स्क्रैपिंग का काम पूरा हो चुका है" से स्क्रेपी क्या इसे करना संभव है। यदि संभव हो तो हम उस कोड को spider_closed विधि में लिख सकते हैं, कोई भी इस पर कुछ उदाहरण कोड को साझा कर सकता है।

आप प्रलेखन में देखा है:

बेसिक दस्तावेज़ीकरण से उपयोग

  से scrap.mail आयात मेलसेन्डर मेलर = मेलसेन्डर () mailer.send (to = ["any@example.com"], विषय = "कुछ विषय", body = " कुछ शरीर ", cc = [" another@example.com "])   

इसके अलावा आप स्वयं को कुछ कस्टम लागू कर सकते हैं उदाहरण के लिए यदि आप जीमेल का उपयोग करना चाहते हैं:

  def send_mail (स्वयं, संदेश, शीर्षक): प्रिंट "मेल भेजना ..........." ईमेल से आयात करें smtplib MIMEMultipart ईमेल से MIMEMultipart आयात करें। MIMEText आयात करें MIMEText gmailUser = 'mail_you_send_from@gmail.com' gmailPassword = 'पासवर्ड' प्राप्तकर्ता = 'मेल_टो_सेंड_to' msg = MIMEMultipart () msg ​​['से'] = जीमेल यूजर msg ['to'] = प्राप्तकर्ता msg ['विषय'] = शीर्षक msg.attach (MIMEText (संदेश)) mailServer = smtplib.SMTP ('smtp.gmail.com', 587) mailServer.ehlo () mailServer.starttls () mailServer.ehlo () mailServer.login (GmailUser, gmailPassword) mailServer.sendmail (gmailUser, प्राप्तकर्ता, msg.as_string ()) mailServer.close () प्रिंट "मेल भेजा"   

और इसे बस इसे कॉल करें:

  send_mail ("कुछ संदेश", "स्क्रैपर रिपोर्ट")    

Comments