点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

为学应须毕生力,攀高贵在少年时。

大家好,我是白小纯。

前言

咳咳,都公元1202年了,各位帅气的小哥哥怎么可能没有女朋友呢,这就马上安排。

呐,这就是今天我要带各位小伙伴“领养”的女友冰冰~

啊,冰冰真好看。这里给大家介绍下冰冰女神:王冰冰,出生于吉林省长春市,中国内地女记者。

今天天气很热,但我的心还是冰冰的。

想要一位这样的女朋友吗?

想要和冰冰说上一些悄悄话吗?

想要冰冰回复你的来信并给你私发邮件附上她的美照吗?

那么就和我一起来吧!

这篇文章主要分为四个部分进行展开:

一、爬取冰冰动图
二、自动生成表白话语
三、冰冰回信ing
四、冰冰向您发送了新邮件

一、爬取冰冰动图

第一步很简单,上某度就可以直接搜到冰冰的照片。

右键选择你喜欢的图片,在新标签页中打开图片,复制上方的url,如图:

用requests.get(url).content获取图片,并用with open保存在本地。

我选取了3张冰冰的gif动图并保存在一个列表中并随机返回一张,各位想扩充冰冰图库很容易,代码如下。

def getbb():w0='https://img1.baidu.com/it/u=1762637264,598758602&fm=26&fmt=auto&gp=0.jpg'w1='https://img1.baidu.com/it/u=2231058723,1803013600&fm=11&fmt=auto&gp=0.jpg'w2='https://img0.baidu.com/it/u=3960011140,3634140813&fm=11&fmt=auto&gp=0.jpg'wlist=[w0,w1,w2]global ii=random.randint(0,2)#随机选取一个冰冰动图url=wlist[i]req=requests.get(url).contentwith open(f'wbb{i}.gif','wb') as p:p.write(req)

二、自动生成表白话语

这里的表白话语是你想和冰冰说的话哦,你可以自己打字,当然你要是表白话语都懒得自己说,小编也帮你自动爬取了网上的文学诗篇哦,要多有诗人气质就多有气质。

也将此功能封装成一个函数如下:

def getwords():texts = []url = 'https://www.duanwenxue.com/huayu/lizhi/list_{}.html'.format(random.randint(1,114))response = requests.get(url)texts.append(response.text)articles = []for text in texts:soup = BeautifulSoup(text,'lxml')arttis = soup.find('div', class_='list-short-article').find_all('a', {'target': "_blank"})  # 寻找情话内容#  通过列表推导式以及for循环获取到每个a标签里面的text内容并通过strip去除空格articles.extend([arttis[i].text.strip() for i in range(len(arttis))])todaywords = articles[random.randint(0, len(articles)-1)]   # 随机选取其中一条情话return todaywords

三、冰冰回信ing

接下来要进入重点了,你给冰冰说话了,还要让冰冰给你回复,那如何来实现呢?

这里用一个智能机器人模拟冰冰并生成回信内容。

现在的智能聊天机器人有不少,推荐有钱可以选图灵机器人,免费的可以用青云客。

此文用青云客实现,无需注册,直接调用接口即可,非常方便。

封装成一个函数,输入表白话语,自动返回智能对话:

def qingyunke(msg):url = f'http://api.qingyunke.com/api.php?key=free&appid=0&msg={msg}'html = requests.get(url)return html.json()["content"]

读者有兴趣可以试一试这个功能,将第二步爬取到的sao话作为函数的输入msg会发生很有趣的事:

四、冰冰向您发送了新邮件

最后就是要让冰冰给您发送私信并附上她的美照了~

可以用常见的邮箱实现,比如163邮箱或者QQ邮箱都可以。

这里以163邮箱为例,点击设置:

点击POP3/SMTP/IMAP:

点击开启IMAP/SMTP服务:

会生成一个授权码,这个授权码复制下来,后面需要用到。

下面是我写好的代码,你只需要填写你的账号和授权码就可以了哦。

def sendemail():msgword = getwords()res = qingyunke(msgword)xhx='你的163邮箱账号'#你实际使用的163邮箱账号pwd = '你的授权密码'#刚刚生成的163授权密码wy163list=[xhx]#收件人列表,可以扩充host_server = 'smtp.163.com'  #163邮箱smtp服务器sender = f'{xhx}@163.com' #发件人邮箱receiver = f'{wy163list[0]}@163.com'#收件人mail_title = '冰冰向您发送了新邮件' #邮件标题#邮件正文内容#为保证接口稳定,调用频率请控制在200次/10分钟mail_content = f"亲爱的{wy163list[0]},我是冰冰,<p>上次收到你给我的来信:<p>{msgword}<p>我很感动,特意给你回信并附上冰冰的美照哦~<p>现在我想对你说:<p>{res}<p>您好,<p>欢迎关注我的CSDN个人账号以获取最新创意好文,<p>开启python魔法之旅:</p> <p><a href='https://blog.csdn.net/x978404178?spm=1001.2100.3001.5343'>点击此处进入CSDN</a></p>"msg = MIMEMultipart()#将图片显示在正文global iwith open(f'wbb{i}.gif', 'rb') as f:#图片添加到正文msgImage = MIMEImage(f.read())# 定义图片IDmsgImage.add_header('Content-ID', '<image1>')msg.attach(msgImage)msg["Subject"] = Header(mail_title,'utf-8')msg["From"] =Header("冰冰","utf-8")msg["To"] = receivermsg.attach(MIMEText(mail_content,'html'))try:smtp = SMTP_SSL(host_server) # ssl登录连接到邮件服务器smtp.set_debuglevel(1) # 0是关闭,1是开启debugsmtp.ehlo(host_server) # 跟服务器打招呼,告诉它我们准备连接,最好加上这行代码smtp.login(sender,pwd)smtp.sendmail(sender,receiver,msg.as_string())smtp.quit()print("邮件发送成功")except smtplib.SMTPException:print("无法发送邮件")

五、本文完整代码

到这里呢,本文就该告一段落了,小编这里把整体代码都奉上啦,欢迎大家动手实践,有问题可以随时私我噢~

# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import random
import requests
from smtplib import SMTP_SSL
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.image import MIMEImagedef getbb():w0='https://img1.baidu.com/it/u=1762637264,598758602&fm=26&fmt=auto&gp=0.jpg'w1='https://img1.baidu.com/it/u=2231058723,1803013600&fm=11&fmt=auto&gp=0.jpg'w2='https://img0.baidu.com/it/u=3960011140,3634140813&fm=11&fmt=auto&gp=0.jpg'wlist=[w0,w1,w2]global ii=random.randint(0,2)#随机选取一个冰冰动图url=wlist[i]req=requests.get(url).contentwith open(f'wbb{i}.gif','wb') as p:p.write(req)def getwords():texts = []url = 'https://www.duanwenxue.com/huayu/lizhi/list_{}.html'.format(random.randint(1,114))response = requests.get(url)texts.append(response.text)articles = []for text in texts:soup = BeautifulSoup(text,'lxml')arttis = soup.find('div', class_='list-short-article').find_all('a', {'target': "_blank"})  # 寻找情话内容#  通过列表推导式以及for循环获取到每个a标签里面的text内容并通过strip去除空格articles.extend([arttis[i].text.strip() for i in range(len(arttis))])todaywords = articles[random.randint(0, len(articles)-1)]   # 随机选取其中一条情话return todaywordsdef qingyunke(msg):url = f'http://api.qingyunke.com/api.php?key=free&appid=0&msg={msg}'html = requests.get(url)return html.json()["content"]def sendemail():msgword = getwords()res = qingyunke(msgword)xhx='你的163邮箱账号'#你实际使用的163邮箱账号pwd = '你的授权密码'#刚刚生成的163授权密码wy163list=[xhx]#收件人列表,可以扩充host_server = 'smtp.163.com'  #163邮箱smtp服务器sender = f'{xhx}@163.com' #发件人邮箱receiver = f'{wy163list[0]}@163.com'#收件人mail_title = '冰冰向您发送了新邮件' #邮件标题#邮件正文内容#为保证接口稳定,调用频率请控制在200次/10分钟mail_content = f"亲爱的{wy163list[0]},我是冰冰,<p>上次收到你给我的来信:<p>{msgword}<p>我很感动,特意给你回信并附上冰冰的美照哦~<p>现在我想对你说:<p>{res}<p>您好,<p>欢迎关注我的CSDN个人账号以获取最新创意好文,<p>开启python魔法之旅:</p> <p><a href='https://blog.csdn.net/x978404178?spm=1001.2100.3001.5343'>点击此处进入CSDN</a></p>"msg = MIMEMultipart()#将图片显示在正文global iwith open(f'wbb{i}.gif', 'rb') as f:#图片添加到正文msgImage = MIMEImage(f.read())# 定义图片IDmsgImage.add_header('Content-ID', '<image1>')msg.attach(msgImage)msg["Subject"] = Header(mail_title,'utf-8')msg["From"] =Header("冰冰","utf-8")msg["To"] = receivermsg.attach(MIMEText(mail_content,'html'))try:smtp = SMTP_SSL(host_server) # ssl登录连接到邮件服务器smtp.set_debuglevel(1) # 0是关闭,1是开启debugsmtp.ehlo(host_server) # 跟服务器打招呼,告诉它我们准备连接,最好加上这行代码smtp.login(sender,pwd)smtp.sendmail(sender,receiver,msg.as_string())smtp.quit()print("邮件发送成功")except smtplib.SMTPException:print("无法发送邮件")if __name__ == '__main__':getbb()sendemail()

运行时间大概在30s~1min30s哦,快登录你的邮箱查看冰冰给你的悄悄话吧。

效果如下:

好了,各位有没有get到冰冰呢?欢迎在下方评论区留言讨论哦。

六、总结

本文基于Python网络爬虫,抓取了王冰冰靓女的动图图片,之后利用网络爬虫技术获取了文学诗篇网站的表白桥段,通过青云客平台,打造了一款智能机器人模拟冰冰回信,并且基于邮箱服务器,模拟冰冰向自己发送新邮件,每天打开邮箱,都可以收到女神的邮箱,心情美滋滋~如此有趣的项目,快快来尝试吧!

------------------- End -------------------

往期精彩文章推荐:

  • Python也能操作MongoDB数据库

  • Python也能操作Mysql数据库

  • 我是如何利用Python下载酷狗音乐的

  • 干货文——一文带你搞懂爬虫储存数据库MongoDB

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

手把手教你用Python网络爬虫+自动化来创建一位属于你自己的虚拟女票(附源码)...相关推荐

  1. 手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待阖棺. ...

  2. 手把手教你使用Python网络爬虫获取音效信息

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 一腔热血勤珍重,洒去犹能化碧涛. ...

  3. 手把手教你用Python网络爬虫实现上海证券交易所定期报告pdf文件下载(附代码)...

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 青山隐隐水迢迢, 秋尽江南草未凋. ...

  4. 手把手教你利用Python网络爬虫获取链家网的房产信息

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...

  5. 手把手教你使用Python网络爬虫获取王者荣耀英雄皮肤

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 欢度国庆,共度中秋. /1 前言/ ...

  6. 手把手教你用Python网络爬虫获取壁纸图片

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 桃之夭夭,灼灼其华. /1 前言/ ...

  7. 实战|手把手教你利用Python网络爬虫获取新房数据

    一.项目背景 大家好,我是J哥. 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. 今天J哥以惠民之家 ...

  8. python爬虫爬取房源_手把手教你用Python网络爬虫爬取新房数据

    项目背景 大家好,我是J哥. 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. 今天J哥以「惠民之家」 ...

  9. 手把手教你使用Python网络爬虫获取菜谱信息

    /1 前言/ 在放假时 ,经常想尝试一下自己做饭,下厨房这个网址是个不错的选择. 下厨房是必选的网址之一,主要提供各种美食做法以及烹饪技巧.包含种类很多. 今天教大家去爬取下厨房的菜谱 ,保存在wor ...

  10. python爬虫可以爬取个人信息吗_手把手教你利用Python网络爬虫获取旅游景点信息...

    爬虫系列: 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格.开放时间.用户的评论等. 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息. 1.项目目标 获取网站的景 ...

最新文章

  1. linux下发布的执行文件崩溃的问题定位 心得一则
  2. Everest 0.6 设置ADSL上网
  3. Spring实战3-Spring之旅
  4. uniq :删除文件中重复出现的行
  5. 24-单调递增最长子序列(多种解法总结)
  6. Integrating ASP.NET AJAX with SharePoint
  7. Nhibernate3.3.3sp1基础搭建测试
  8. Drools7.5.0教程-目录
  9. Visual C++ 2010 Express使用教程
  10. visio2010取消连接线交叉出的跨线
  11. 直通车测图需要满足哪些数据?
  12. 写完十四章卡农后,莫比乌斯带属实是给巴赫玩明白了
  13. 闪存颗粒-2D和3D闪存之间的区别和联系
  14. Angular4与PrimeNG
  15. Linux用到的大数据相关命令
  16. springboot 之 SpringBoot指定额外需要扫描的包
  17. 可汗学院学习总结(一)
  18. Hyper-V网络设置实现宿主机.虚拟机之间互联互通
  19. SQL 实验项目8_事务控制
  20. 如何使用WordPress事件日历插件

热门文章

  1. PMP复习整理考点篇【3】--- 风险应对策略
  2. python3操作win32com报错:AttributeError: Open.SaveAs 或者<COMObject Open>“, line 8, in SaveAs pywintypes.c
  3. OV2640 DCMI
  4. 计算机怎么查文件打印记录表,打印机历史记录
  5. jqGrid设置三级表头和表头合并
  6. LimeSDR实验教程(5) WiFi解调
  7. 中介效应、调节效应与交互作用咋回事?
  8. win10中鼠标点右键或者重命名文件夹系统卡顿解决方法
  9. SAI颈部正面的画法
  10. 企业支付宝账号注册认证流程