大家好,我是白小纯。前言咳咳,都已经是公元1202年了,帅气的小兄弟怎么可能没有女朋友呢,马上安排。嘿,我是冰冰,今天要跟大家“领养”的女朋友~啊,冰冰好漂亮啊。在这里给大家介绍一下冰冰女神:王冰冰,出生于吉林省长春市,中国内地女记者。今天很热,但我的心还是冷的。你想要这样的女朋友吗?你想和冰冰私聊吗?你想让冰冰回复你的信并给你发一封私人邮件,里面有她美丽的照片吗?那就跟我来吧!,爬取冰冰动画的第一步很简单,一定程度上直接搜索冰冰的照片即可。右键选择自己喜欢的图片,在新标签页打开图片,复制上面的url,如图:使用requests.get(url).content获取图片,使用withopen保存本地。我选择了3个Bingbinggif动画并将它们保存在列表中并随机返回一个。大家扩展冰冰库很容易。代码如下。defgetbb():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]globalii=random.randint(0,2)#随机选择一个冰动画url=wlist[i]req=requests.get(url).contentwithopen(f'wbb{i}.gif','wb')asp:p.write(req)2.自动生成告白词。这里的告白话是你想对冰冰说的话。您可以自己键入它们。当然,如果你懒得说表白的话,小编会帮你自动抓取网络上的文艺诗词,只要你有诗情画意的气质,你就有气质。也把这个函数封装成一个函数如下:defgetwords():texts=[]url='https://www.duanwenxue.com/huayu/lizhi/list_{}.html'.format(random.randint(1,114))response=requests.get(url)texts.append(response.text)articles=[]fortextintexts:soup=BeautifulSoup(text,'lxml')arttis=soup.find('div',class_='list-short-article').find_all('a',{'target':"_blank"})#查找lovetalk内容#通过listcomprehension和for循环获取每个a标签中的文本内容,通过striparticles.extend([arttis[i].text.strip()foriinrange(len(arttis))])todaywords=articles[random.randint(0,len(articles)-1)]#随机选择其中一个情话returntodaywords3.冰冰回复ing接下来就要进入重点了,你和冰冰说话了,你想让冰冰回复你,那么怎么实现呢?这里使用智能机器人模拟冰冰生成回复内容。现在有很多智能聊天机器人。建议有钱的可以选择图灵机器人,有空的话可以用青云客。本文使用青云客实现,无需注册,直接调用接口即可,非常方便。封装成一个函数,输入告白词,自动返回智能对话:defqingyunke(msg):url=f'http://api.qingyunke.com/api.php?key=free&appid=0&msg={msg}'html=requests.get(url)returnhtml.json()["content"]有兴趣的读者可以试试这个函数。如果将第二步爬取的sao词作为函数的输入msg,会发生一些很有趣的事情:4.冰冰我给你发了一封新邮件。最后想请冰冰私信你,附上她的美照~可以用普通邮箱,比如163邮箱或者QQ邮箱。这里我们以163邮箱为例,点击设置:点击POP3/SMTP/IMAP:点击启用IMAP/SMTP服务:会生成一个授权码,稍后复制使用。下面是我写的代码,你只需要填写你的账号和授权码即可。defsendemail():msgword=getwords()res=qingyunke(msgword)xhx='your163emailaccount'#你实际的163邮箱帐号pwd='yourauthorizedpassword'#163授权密码刚刚生成wy163list=[xhx]#Recipientlist,可以展开host_server='smtp.163.com'#163邮箱smtp服务器sender=f'{xhx}@163.com'#Sender邮箱receiver=f'{wy163list[0]}@163.com'#Recipientmail_title='冰冰给你发了一封新邮件'#邮件标题#邮件正文内容#为保证界面稳定,请控制调用频率在200次/10分钟mail_content=f"亲爱的{wy163list[0]},我是冰冰,
上次收到你的来信:
{msgword}
很感动,特地回信给你一张冰冰的美照~
现在我想对你说:
{res}
你好,
欢迎关注我的CSDN个人账号获取最新创意文章,
开启python神奇之旅:
点她e进入CSDN
"msg=MIMEMultipart()#在文本中显示图片globaliwithopen(f'wbb{i}.gif','rb')asf:#在文本中添加图片msgImage=MIMEImage(f.read())#定义图片IDmsgImage.add_header('Content-ID','
')msg.attach(msgImage)msg["Subject"]=Header(mail_title,'utf-8')msg["From"]=Header("Bingbing","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)#follow服务器问候并告诉它我们已准备好连接。最好加上这行代码smtp.login(sender,pwd)smtp.sendmail(sender,receiver,msg.as_string())smtp.quit()print("Mailsentsuccessfully")exceptsmtplib.SMTPException:print(“无法发送邮件”)5、本文完整代码在这里。天啊#-*-coding:utf-8-*-frombs4importBeautifulSoupimportrandomimportrequestsfromsmtplibimportSMTP_SSLimportsmtplibfromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartfromemail.headerimportHeaderfromemail.mime.imageimportMIMEImagedefgetbb():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]globalii=random.randint(0,2)#随机选一个取冰动图url=wlist[i]req=requests.get(url).contentwithopen(f'wbb{i}.gif','wb')asp:p.write(req)defgetwords():texts=[]url='https://www.duanwenxue.com/huayu/lizhi/list_{}.html'.format(random.randint(1,114))response=requests.get(url)texts.append(response.text)articles=[]fortextintexts:soup=BeautifulSoup(text,'lxml')arttis=soup.find('div',class_='list-short-article').find_all('a',{'target':"_blank"})#找情话话content#通过listcomprehension和for循环获取每个a标签中的文本内容并通过striparticles.extend([arttis[i].text.strip()foriinrange(len(arttis))])todaywords=articles[random.randint(0,len(articles)-1)]#随机选择其中一个情话returntodaywordsdefqingyunke(msg):url=f'http://api.qingyunke.com/api.php?key=free&appid=0&msg={msg}'html=requests.get(url)returnhtml.json()["content"]defsendemail():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'#Recipientmail_title='冰冰给你发了新邮件'#mailtitle#mailtextcontent#为了保证界面的稳定性,请控制调用频率在200次/10分钟mail_content=f"亲爱的{wy163list[0]},我是冰冰,最后看到的回执你给我的信:
{msgword}
我很感动,特地回信给你一张冰冰的美照~
现在我想对你说:
{res}
您好,
欢迎关注我的CSDN个人账号获取最新创意好文,
开启python魔法之旅:
点此进入CSDN
"msg=MIMEMultipart()#在文本中显示图片globaliwithopen(f'wbb{i}.gif','rb')asf:#添加图片转文本msgImage=MIMEImage(f.read())#DefineimageIDmsgImage.add_header('Content-ID','')msg.attach(msgImage)msg["Subject"]=Header(mail_title,'utf-8')msg["From"]=Header("Bingbing","utf-8")msg["To"]=receivermsg.attach(MIMEText(mail_content,'html'))try:smtp=SMTP_SSL(host_server)#ssl登录连接到邮件服务器smtp.set_debuglevel(1)#0isoff,1isondebugsmtp.ehlo(host_server)#向服务器致意,告诉它我们已经准备好连接了,最好加上这行代码smtp.login(sender,pwd)smtp.sendmail(sender,receiver,msg.as_string())smtp.quit()print("邮件发送成功")exceptsmtplib.SMTPException:print("无法发送邮件")if__name__=='__main__':getbb()sendemail()的运行时间大概是30s~1min30s,登录邮箱查看冰冰给你的私信,效果如下:嗯,hav你有冰冰吗?欢迎在下方评论区留言讨论。6.总结本文基于Python网络爬虫,抓取王冰冰美少女的动图,然后利用网络爬虫技术获取文学诗歌网站的告白栏目。通过青云客平台,打造智能机器人模拟冰冰回复,并基于邮箱服务器,模拟冰冰给自己发送新邮件。每天打开邮箱,就能收到女神的邮箱。好开心~这么有趣的项目,快来试试吧!【小编推荐】鸿蒙官方战略合作共建——HarmonyOS技术社区云中的容器:你有哪些选择?5G消息全面进入发展期什么是域名劫持?如何应对域名劫持自学编程,首先应该选择什么语言?一篇文章读懂网络爬虫发展史