1. 下载实习信息

我是在求职汇公众号找到的实习信息。他们每天发布实习信息,而且数量比较多,适合使用python处理

import requests
url = "https://mp.weixin.qq.com/s/sw3zrQuqR9667PYnxw98oQ"
from selenium import webdriver #需要驱动文件
import re
xpath_all = '//*[@id="js_content"]'
option=webdriver.ChromeOptions()
option.add_argument('--headless')
driver=webdriver.Chrome(options=option,executable_path="chromedriver.exe")
driver.get(url=url)
req=driver.find_element_by_xpath(xpath_all)
len(req.text)

2. 简单筛选出我想要的实习信息——可以远程的

从简单的文本信息中提取邮件信息、职位title、职位详细描述和要求发送邮件的主题和简历的文件名

all_jobs = req.text.split("#")
# define a function to get all the job titles and the number
def selection(all_intern):job_titles = {}i = -1for intern in all_intern:i += 1if "远程" in intern and i >0:inde = intern.index("远程")if "不" not in intern[inde-10:inde] and "无" not in intern[inde-10:inde]:intern_title = intern.split("\n")[0]job_titles[i] = intern_title  return job_titles
selected = selection(all_jobs)
selected
job_list = []
for i in selected.keys():#print(i)job = all_jobs[i]# get the main information of the jobjob_title = job.split("\n")[0]# get the job description(a long sentence)job_descrip = re.split(r'\n',job, 1)[1]# find the sending email addressmatch = re.search(r'[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+', job_descrip)job_email = match.group(0)decrip_without_email = job_descrip[:match.start()] + job_descrip[match.end():]# extract the title of the email from job_descripm1 = re.search(r'\u201c',decrip_without_email)m2 = re.search(r'\u201d',decrip_without_email)if m1 is not None and m2 is not None:email_title = decrip_without_email[m1.start()+1:m2.end()-1]title_match = re.search(r'[\_\+\-]', email_title)separation = title_match.group(0)else:title_match = re.search(r'[\_\+\-]', decrip_without_email)try:separation = title_match.group(0)t1 = decrip_without_email.split(separation)t1[0] = re.split(r'[\(\)\《\》\——\;\,\。\“\”\<\>\!\【\】\:\:\n]',t1[0])[-1]t1[-1] = re.split(r'[\(\)\《\》\——\;\,\。\“\”\<\>\!\【\】\n]',t1[-1])[0]email_title = separation.join(t1)if len(email_title)>100:email_title = "error"except:email_title = None# parse them into job_listjob_list.append([separation, job_title, job_email, email_title, job_descrip])
len(job_list)

3.发送邮件

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.application import MIMEApplication
from email.mime.base import MIMEBase
from email import encoders
import smtplib as smtp
import os
#在引号中填写自己的个人信息
keywords_dict = {"姓名": "","年级": "","专业": "","联系方式": "","学校": "","本科学校": "","毕业时间": "","电话": ""
}
def get_real_title(separation, email_title):real_title0 = separation.join([keywords_dict.get(i, i) for i in email_title.split(separation)])print(real_title0)real_title = input()return real_title
def write_content(job_email, job_descrip):header = job_email + '\n' + job_descrip# starter定义的每封邮件的开头starter = "您好!\n\n我是来自。\n"# 根据职位描述中的关键词大致写一下正文内容mwind = re.search(r'wind',job_descrip, flags=re.IGNORECASE)mexcel = re.search(r'excel', job_descrip, flags=re.IGNORECASE)mpython = re.search(r'python', job_descrip, flags=re.IGNORECASE)zhongjian = ""if mexcel:zhongjian = zhongjian + "\n本人通过了计算机二级OFFICE的考试,能够熟练运用Excel的数据透视表和各类函数功能。\n"if mwind:zhongjian = zhongjian + "\n\n"if mpython:zhongjian = zhongjian + "\n本人能够熟练使用python的pandas和numpy进行数据清洗和数据分析。\n"# 邮件结尾固定,写实习时间和感谢语ending = "\n关于实习时间,\n\n简历已经添加在附件中,希望您能考虑我的申请!"# 下面提供可以修改中间段内容的选项
#     下面三行可以将中间段内容自动存入剪贴板,觉得没必要可以不用
#     import pyperclip
#     pyperclip.copy(zhongjian)
#     spam = pyperclip.paste() cover = input(zhongjian)return starter + cover + ending
def send_email(title, content, receiver):text = MIMEText(content, 'plain', 'utf-8')# 打开简历文件with open("简历.pdf", 'rb') as pdf_file:pdf = MIMEApplication(pdf_file.read(), _subtype = 'pdf')pdf.add_header('content-disposition', 'attachment', filename="%s.pdf" % title)message = MIMEMultipart(_subparts=(text, pdf))message['Subject'] = Header(title, 'utf-8')message['From'] = Header("自定义", 'utf-8')  smtp.sendmail(sender, receiver, message.as_string())    return message
# 登录qq邮箱,password是16位smtp功能验证码
# sender是你的邮箱
# username是你邮箱@之前的部分
password = ""
sender = "123456@qq.com"
username = "123456"
smtp = smtplib.SMTP()
smtp.connect('smtp.qq.com')
smtp.login(username, password)
# 开始发送
failures = []
success = []
for job in job_list:#[separation, job_title, job_email, email_title, job_descrip]sepa = job[0]receiver = job[2]email_title = job[3]job_descrip = job[4]print(job[1])print(job_descrip)whether_to_send = input("是否发送邮件:")if whether_to_send == "N":continueprint(receiver)check_email = input("邮箱是否正确?")if check_mail != "Y":receiver = check_emailtitle = get_real_title(sepa, email_title)try:content = write_content(job_email, job_descrip)msg = send_email(title, content)success.append(receiver)except:failures.append(job)
failures
smtp.quit()

简历邮件半自动批量发送模板相关推荐

  1. word合并邮件无法发送html,Word邮件合并批量发送带附件的邮件

    应张老师的需求,修改制作了一个可以批量发送带附件的电子邮件VBA. 目的:给N多人发送电子邮件,而不是抄送模式,并带有对方的称谓. 实现: 用到Word的邮件合并功能,以及调用Outlook发送邮件. ...

  2. 利用word2010中的“邮件”功能批量发送邀请函

    在日常办公中,无论是销售部.行政人力部.市场部都会涉及到一项工作,那就是群发邀请函或者通知.公告等公文.我们可能会发送电子邀请函,也可能需要我们打印纸质邀请函,也会遇到打印大量的客户通信地址用来派发礼 ...

  3. 企业员工生日批量发送祝福邮件的方式

    这里写自定义目录标题 如何才能批量自动发送祝福邮件 outlook+vba+excel(流行) 如何才能批量自动发送祝福邮件 这个功能网上一般都是outlook+vba和excel表格的方式,创建自动 ...

  4. vfp 右键发送邮件_邮件批量发送的方法教程

    实际工作中经常会遇到批量发邮件的需求,比如发送工资条.节日祝福.定期汇报工作成果.日报.周报.月报等,当然如果发送的邮件不是很多的话完全可以手工发送,一旦遇到批量发送的场景,手工一份一份的发送就会变得 ...

  5. SpringBoot中整合Mail实现发送模板邮件

    场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 实现最简单的带标题以及文本内容的邮件发送: https:/ ...

  6. Bella Email邮件发送模板

    简介: Bella Email邮件发送模板是一款HTML5网站模板.aspku提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢. 下载地址: http://www.bytepan.com/X3 ...

  7. python群发邮箱软件_maily:命令行邮件(批量)发送工具

    实在是觉得Linux下的mail和mailx工具难用,太复杂,于是自己用Python写了个简单的,maily,练练手. maily分两个模式,inline和infile,即两个subcommand. ...

  8. JAVA 实现阿里云短信申请模板以及批量发送短信

    添加pom.xml依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java ...

  9. python批量发送工资条邮件

    python批量发送工资条邮件 工资excel表格格式如下所示: 使用python批量给每位员工发送工资条信息,格式如下: 思路: 首先是加载excel,获取当前sheet表格 salay = loa ...

最新文章

  1. HR收到Dota天梯2000分玩家的简历,给不给面试的机会呢?
  2. 分布式配置中心disconf第三部(基于xml配置的实现原理)
  3. python画图代码彩虹-echarts绘制彩虹图
  4. 一句话说汽车(超搞笑)
  5. json里面返回模板输出的html,在JSON响应中返回完整页面的HTML而不是字符串输出...
  6. 虚拟机硬盘启动计算机后黑屏,高手亲自教告诉你win7虚拟机启动后黑屏的操作方案...
  7. eclipse远程连接Hadoop,用户认证失败
  8. 射频MOS管和三极管优缺点对比
  9. Cobaltstrike4.0系列教程(一)----简介与安装
  10. 常规dll 的接口函数定义+客户端程序接口函数导入
  11. 检测到目标FTP服务可匿名访问
  12. Git Diff 魔法
  13. HashTable,HashMap和ConcurrentHashMap的区别?
  14. MAC地址厂商信息查询
  15. 论应用程序商店:软件销售模式的变革
  16. 淘宝闲鱼等电商平台数据采集软件
  17. vue项目结合 Element插件
  18. 微信小程序开发及开发中遇到的问题小总结
  19. qt构建浏览器_如何为组织构建安全的浏览器
  20. pdf转换成jpg转换器教程

热门文章

  1. 如何在 Python 中读取 .data 文件?
  2. 10大免费的白嫖网站
  3. HTML标记【其他特殊文字样式标记】!
  4. Android 启用/禁用WLAN直连功能
  5. json_tuple,get_json_object提取日志埋点信息
  6. 我不是会员!照样免费享受迅雷离线下载
  7. Mycat之——Mycat与MySQL 8.x互连
  8. 安卓java百度人脸识别SDK简单使用
  9. Deepin安装SSH服务器
  10. 物联网的未来:从边缘计算到主流