Python 爬取后发送邮件

简介: 邮件

import requests

import smtplib

import schedule

import time

from bs4 import BeautifulSoup

from email.mime.text import MIMEText

from email.header import Header

account =  input('请输入你的邮箱:')

password = input('请输入你的密码:')

receiver = input('请输入收件人的邮箱:')

index = 0

# index的目的是让程序只运行两次就结束

def movie_spider():

   res_movies = requests.get('https://movie.douban.com/chart')

   bs_movies = BeautifulSoup(res_movies.text, 'html.parser')

   list_movies = bs_movies.find_all('div', class_='pl2')

   list_all = []

   for movie in list_movies:

       tag_a = movie.find('a')

       name = tag_a.text.replace(' ', '').replace('\n', '')

       # 电影名,使用replace方法去掉多余的空格及换行符

       url = tag_a['href']

       # 电影详情页的链接

       tag_p = movie.find('p', class_='pl')

       # 提取父级标签中的<p>标签

       information = tag_p.text.replace(' ', '').replace('\n', '')

       # 电影基本信息,使用replace方法去掉多余的空格及换行符

       tag_div = movie.find('div', class_='star clearfix')

       # 提取父级标签中的<div>标签

       rating = tag_div.text.replace(' ', '').replace('\n', '')

       # 电影评分信息,使用replace方法去掉多余的空格及换行符

       list_all.append(name+url+information+rating)

       # 将电影名、URL、电影基本信息和电影评分信息,封装为列表,用append方法添加进list_all

   return list_all

def send_email(movie_list):

   global account, password, receiver

   mailhost = 'smtp.qq.com'

   qqmail = smtplib.SMTP_SSL()

   qqmail.connect(mailhost, 465)

   qqmail.login(account, password)

   content = '\n'.join(movie_list)

   print(content)

   message = MIMEText(content, 'plain', 'utf-8')

   subject = '本周豆瓣新片榜'

   message['Subject'] = Header(subject, 'utf-8')

   try:

       qqmail.sendmail(account, receiver, message.as_string())

       print('邮件发送成功')

   except:

       print('邮件发送失败')

   qqmail.quit()

def job():

   global index

   print('开始任务')

   movie_list = movie_spider()

   send_email(movie_list)

   print(movie_list)

   print('任务完成')

   index += 1

schedule.every().second.do(job)

while index != 2:

   #这里会当index == 2的时候程序结束

   schedule.run_pending()

   time.sleep(1)

目录
相关文章
|
1月前
|
数据采集 JSON 数据格式
python爬虫之app爬取-charles的使用
charles 基本原理,charles抓包,分析,重发。
54 0
|
2月前
|
数据采集 存储 架构师
上进计划 | Python爬虫经典实战项目——电商数据爬取!
在如今这个网购风云从不间歇的时代,购物狂欢持续不断,一年一度的“6.18年中大促”、“11.11购物节”等等成为了网购电商平台的盛宴。在买买买的同时,“如何省钱?”成为了大家最关心的问题。 比价、返利、优惠券都是消费者在网购时的刚需,但在这些“优惠”背后已产生灰色地带。
|
5月前
|
Python
python实现发送邮件demo
python实现发送邮件demo
38 1
|
4月前
|
数据采集 Python
Python爬虫:实现爬取、下载网站数据的几种方法
Python爬虫:实现爬取、下载网站数据的几种方法
202 1
|
1月前
|
数据采集 测试技术 API
python爬虫之app爬取-微信朋友圈
搭建appium环境,appium基本使用,API操作等等
80 0
|
1月前
|
数据采集 存储 数据处理
使用Python爬取豆瓣电影影评:从数据收集到情感分析
本文演示如何使用Python爬虫获取豆瓣电影《肖申克的救赎》的影评数据并进行情感分析。首先,安装requests、BeautifulSoup、pandas和TextBlob库。接着,编写爬虫抓取评论的用户名、评分和内容,存储为DataFrame。然后,利用TextBlob进行情感分析,得到情感分数。此方法有助于分析用户对电影的反馈。
86 1
|
1月前
|
数据采集 存储 安全
python爬虫之app爬取-mitmproxy 的使用
mitmproxy抓包原理,设置代理,MitmDump运用,mitmproxy使用。
38 0
|
1月前
|
数据采集 存储 数据挖掘
Python爬虫实战:打造一个简单的新闻网站数据爬取工具
本文将介绍如何运用Python编写一个简单而高效的网络爬虫,帮助您在实际项目中快速获取并存储新闻网站的数据。通过学习本文,您将了解到如何利用Python中的第三方库和技术来实现数据爬取,为您的数据分析和应用提供更多可能性。
|
2月前
|
数据采集 前端开发 JavaScript
Python爬虫之Ajax数据爬取基本原理#6
Ajax数据爬取原理【2月更文挑战第19天】
32 1
Python爬虫之Ajax数据爬取基本原理#6
|
3月前
|
数据采集 Linux API
Python爬虫实践指南:利用cpr库爬取技巧
Python爬虫实践指南:利用cpr库爬取技巧