新聞中心
大家好,我是白小純。

我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、郊區(qū)ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的郊區(qū)網(wǎng)站制作公司
前言
咳咳,都公元1202年了,各位帥氣的小哥哥怎么可能沒有女朋友呢,這就馬上安排。
吶,這就是今天我要帶各位小伙伴“領(lǐng)養(yǎng)”的女友冰冰~
啊,冰冰真好看。這里給大家介紹下冰冰女神:王冰冰,出生于吉林省長(zhǎng)春市,中國(guó)內(nèi)地女記者。
今天天氣很熱,但我的心還是冰冰的。
想要一位這樣的女朋友嗎?
想要和冰冰說上一些悄悄話嗎?
想要冰冰回復(fù)你的來信并給你私發(fā)郵件附上她的美照嗎?
那么就和我一起來吧!
一、爬取冰冰動(dòng)圖
第一步很簡(jiǎn)單,上某度就可以直接搜到冰冰的照片。
右鍵選擇你喜歡的圖片,在新標(biāo)簽頁中打開圖片,復(fù)制上方的url,如圖:
用requests.get(url).content獲取圖片,并用with open保存在本地。
我選取了3張冰冰的gif動(dòng)圖并保存在一個(gè)列表中并隨機(jī)返回一張,各位想擴(kuò)充冰冰圖庫很容易,代碼如下。
- 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 i
- i=random.randint(0,2)#隨機(jī)選取一個(gè)冰冰動(dòng)圖
- url=wlist[i]
- req=requests.get(url).content
- with open(f'wbb{i}.gif','wb') as p:
- p.write(req)
二、自動(dòng)生成表白話語
這里的表白話語是你想和冰冰說的話哦,你可以自己打字,當(dāng)然你要是表白話語都懶得自己說,小編也幫你自動(dòng)爬取了網(wǎng)上的文學(xué)詩篇哦,要多有詩人氣質(zhì)就多有氣質(zhì)。
也將此功能封裝成一個(gè)函數(shù)如下:
- 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"}) # 尋找情話內(nèi)容
- # 通過列表推導(dǎo)式以及for循環(huán)獲取到每個(gè)a標(biāo)簽里面的text內(nèi)容并通過strip去除空格
- articles.extend([arttis[i].text.strip() for i in range(len(arttis))])
- todaywords = articles[random.randint(0, len(articles)-1)] # 隨機(jī)選取其中一條情話
- return todaywords
三、冰冰回信ing
接下來要進(jìn)入重點(diǎn)了,你給冰冰說話了,還要讓冰冰給你回復(fù),那如何來實(shí)現(xiàn)呢?
這里用一個(gè)智能機(jī)器人模擬冰冰并生成回信內(nèi)容。
現(xiàn)在的智能聊天機(jī)器人有不少,推薦有錢可以選圖靈機(jī)器人,免費(fèi)的可以用青云客。
此文用青云客實(shí)現(xiàn),無需注冊(cè),直接調(diào)用接口即可,非常方便。
封裝成一個(gè)函數(shù),輸入表白話語,自動(dòng)返回智能對(duì)話:
- 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"]
讀者有興趣可以試一試這個(gè)功能,將第二步爬取到的sao話作為函數(shù)的輸入msg會(huì)發(fā)生很有趣的事:
四、冰冰向您發(fā)送了新郵件
最后就是要讓冰冰給您發(fā)送私信并附上她的美照了~
可以用常見的郵箱實(shí)現(xiàn),比如163郵箱或者QQ郵箱都可以。
這里以163郵箱為例,點(diǎn)擊設(shè)置:
點(diǎn)擊POP3/SMTP/IMAP:
點(diǎn)擊開啟IMAP/SMTP服務(wù):
會(huì)生成一個(gè)授權(quán)碼,這個(gè)授權(quán)碼復(fù)制下來,后面需要用到。
下面是我寫好的代碼,你只需要填寫你的賬號(hào)和授權(quán)碼就可以了哦。
- def sendemail():
- msgword = getwords()
- res = qingyunke(msgword)
- xhx='你的163郵箱賬號(hào)'#你實(shí)際使用的163郵箱賬號(hào)
- pwd = '你的授權(quán)密碼'#剛剛生成的163授權(quán)密碼
- wy163list=[xhx]#收件人列表,可以擴(kuò)充
- host_server = 'smtp.163.com' #163郵箱smtp服務(wù)器
- sender = f'{xhx}@163.com' #發(fā)件人郵箱
- receiver = f'{wy163list[0]}@163.com'#收件人
- mail_title = '冰冰向您發(fā)送了新郵件' #郵件標(biāo)題
- #郵件正文內(nèi)容
- #為保證接口穩(wěn)定,調(diào)用頻率請(qǐng)控制在200次/10分鐘
- mail_content = f"親愛的{wy163list[0]},我是冰冰,
上次收到你給我的來信:
{msgword}
我很感動(dòng),特意給你回信并附上冰冰的美照哦~
現(xiàn)在我想對(duì)你說:
{res}
您好,
歡迎關(guān)注我的CSDN個(gè)人賬號(hào)以獲取最新創(chuàng)意好文,
開啟python魔法之旅:
五、本文完整代碼
到這里呢,本文就該告一段落了,小編這里把整體代碼都奉上啦,歡迎大家動(dòng)手實(shí)踐,有問題可以隨時(shí)私我噢。
- # -*- 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 MIMEImage
- 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 i
- i=random.randint(0,2)#隨機(jī)選取一個(gè)冰冰動(dòng)圖
- url=wlist[i]
- req=requests.get(url).content
- with 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"}) # 尋找情話內(nèi)容
- # 通過列表推導(dǎo)式以及for循環(huán)獲取到每個(gè)a標(biāo)簽里面的text內(nèi)容并通過strip去除空格
- articles.extend([arttis[i].text.strip() for i in range(len(arttis))])
- todaywords = articles[random.randint(0, len(articles)-1)] # 隨機(jī)選取其中一條情話
- return todaywords
- 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"]
- def sendemail():
- msgword = getwords()
- res = qingyunke(msgword)
- xhx='你的163郵箱賬號(hào)'#你實(shí)際使用的163郵箱賬號(hào)
- pwd = '你的授權(quán)密碼'#剛剛生成的163授權(quán)密碼
- wy163list=[xhx]#收件人列表,可以擴(kuò)充
- host_server = 'smtp.163.com' #163郵箱smtp服務(wù)器
- sender = f'{xhx}@163.com' #發(fā)件人郵箱
- receiver = f'{wy163list[0]}@163.com'#收件人
- mail_title = '冰冰向您發(fā)送了新郵件' #郵件標(biāo)題
- #郵件正文內(nèi)容
- #為保證接口穩(wěn)定,調(diào)用頻率請(qǐng)控制在200次/10分鐘
- mail_content = f"親愛的{wy163list[0]},我是冰冰,
上次收到你給我的來信:
{msgword}
我很感動(dòng),特意給你回信并附上冰冰的美照哦~
現(xiàn)在我想對(duì)你說:
{res}
您好,
歡迎關(guān)注我的CSDN個(gè)人賬號(hào)以獲取最新創(chuàng)意好文,
開啟python魔法之旅:
運(yùn)行時(shí)間大概在30s~1min30s哦,快登錄你的郵箱查看冰冰給你的悄悄話吧。
效果如下:
好了,各位有沒有g(shù)et到冰冰呢?歡迎在下方評(píng)論區(qū)留言討論哦。
六、總結(jié)
本文基于Python網(wǎng)絡(luò)爬蟲,抓取了王冰冰靚女的動(dòng)圖圖片,之后利用網(wǎng)絡(luò)爬蟲技術(shù)獲取了文學(xué)詩篇網(wǎng)站的表白橋段,通過青云客平臺(tái),打造了一款智能機(jī)器人模擬冰冰回信,并且基于郵箱服務(wù)器,模擬冰冰向自己發(fā)送新郵件,每天打開郵箱,都可以收到女神的郵箱,心情美滋滋~如此有趣的項(xiàng)目,快快來嘗試吧!
網(wǎng)站標(biāo)題:手把手教你用Python網(wǎng)絡(luò)爬蟲+自動(dòng)化來創(chuàng)建一位屬于你自己的虛擬女神(附源碼)
文章分享:http://www.dlmjj.cn/article/dpoocdj.html


咨詢
建站咨詢
