自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

手把手教你用Python網(wǎng)絡(luò)爬蟲+自動化來創(chuàng)建一位屬于你自己的虛擬女神(附源碼)

開發(fā) 后端 自動化
本文基于Python網(wǎng)絡(luò)爬蟲,抓取了王冰冰靚女的動圖圖片,之后利用網(wǎng)絡(luò)爬蟲技術(shù)獲取了文學(xué)詩篇網(wǎng)站的表白橋段,通過青云客平臺,打造了一款智能機器人模擬冰冰回信。

[[416481]]

大家好,我是白小純。

前言

咳咳,都公元1202年了,各位帥氣的小哥哥怎么可能沒有女朋友呢,這就馬上安排。

[[416482]]

吶,這就是今天我要帶各位小伙伴“領(lǐng)養(yǎng)”的女友冰冰~

啊,冰冰真好看。這里給大家介紹下冰冰女神:王冰冰,出生于吉林省長春市,中國內(nèi)地女記者。

今天天氣很熱,但我的心還是冰冰的。

想要一位這樣的女朋友嗎?

想要和冰冰說上一些悄悄話嗎?

想要冰冰回復(fù)你的來信并給你私發(fā)郵件附上她的美照嗎?

那么就和我一起來吧!

一、爬取冰冰動圖

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

右鍵選擇你喜歡的圖片,在新標簽頁中打開圖片,復(fù)制上方的url,如圖:

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

我選取了3張冰冰的gif動圖并保存在一個列表中并隨機返回一張,各位想擴充冰冰圖庫很容易,代碼如下。

  1. def getbb(): 
  2.     w0='https://img1.baidu.com/it/u=1762637264,598758602&fm=26&fmt=auto&gp=0.jpg' 
  3.     w1='https://img1.baidu.com/it/u=2231058723,1803013600&fm=11&fmt=auto&gp=0.jpg' 
  4.     w2='https://img0.baidu.com/it/u=3960011140,3634140813&fm=11&fmt=auto&gp=0.jpg' 
  5.     wlist=[w0,w1,w2] 
  6.     global i 
  7.     i=random.randint(0,2)#隨機選取一個冰冰動圖 
  8.     url=wlist[i] 
  9.     req=requests.get(url).content 
  10.     with open(f'wbb{i}.gif','wb'as p: 
  11.         p.write(req) 

二、自動生成表白話語

這里的表白話語是你想和冰冰說的話哦,你可以自己打字,當(dāng)然你要是表白話語都懶得自己說,小編也幫你自動爬取了網(wǎng)上的文學(xué)詩篇哦,要多有詩人氣質(zhì)就多有氣質(zhì)。

也將此功能封裝成一個函數(shù)如下:

  1. def getwords(): 
  2.     texts = [] 
  3.     url = 'https://www.duanwenxue.com/huayu/lizhi/list_{}.html'.format(random.randint(1,114)) 
  4.     response = requests.get(url) 
  5.     texts.append(response.text) 
  6.     articles = [] 
  7.     for text in texts: 
  8.         soup = BeautifulSoup(text,'lxml'
  9.         arttis = soup.find('div', class_='list-short-article').find_all('a', {'target'"_blank"})  # 尋找情話內(nèi)容 
  10.             #  通過列表推導(dǎo)式以及for循環(huán)獲取到每個a標簽里面的text內(nèi)容并通過strip去除空格 
  11.         articles.extend([arttis[i].text.strip() for i in range(len(arttis))]) 
  12.     todaywords = articles[random.randint(0, len(articles)-1)]   # 隨機選取其中一條情話 
  13.     return todaywords 

三、冰冰回信ing

接下來要進入重點了,你給冰冰說話了,還要讓冰冰給你回復(fù),那如何來實現(xiàn)呢?

這里用一個智能機器人模擬冰冰并生成回信內(nèi)容。

現(xiàn)在的智能聊天機器人有不少,推薦有錢可以選圖靈機器人,免費的可以用青云客。

此文用青云客實現(xiàn),無需注冊,直接調(diào)用接口即可,非常方便。

封裝成一個函數(shù),輸入表白話語,自動返回智能對話:

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

讀者有興趣可以試一試這個功能,將第二步爬取到的sao話作為函數(shù)的輸入msg會發(fā)生很有趣的事:

四、冰冰向您發(fā)送了新郵件

最后就是要讓冰冰給您發(fā)送私信并附上她的美照了~

可以用常見的郵箱實現(xiàn),比如163郵箱或者QQ郵箱都可以。

這里以163郵箱為例,點擊設(shè)置:

點擊POP3/SMTP/IMAP:

點擊開啟IMAP/SMTP服務(wù):

會生成一個授權(quán)碼,這個授權(quán)碼復(fù)制下來,后面需要用到。

下面是我寫好的代碼,你只需要填寫你的賬號和授權(quán)碼就可以了哦。

  1. def sendemail(): 
  2.     msgword = getwords() 
  3.     res = qingyunke(msgword) 
  4.     xhx='你的163郵箱賬號'#你實際使用的163郵箱賬號 
  5.     pwd = '你的授權(quán)密碼'#剛剛生成的163授權(quán)密碼 
  6.     wy163list=[xhx]#收件人列表,可以擴充 
  7.     host_server = 'smtp.163.com'  #163郵箱smtp服務(wù)器 
  8.     sender = f'{xhx}@163.com' #發(fā)件人郵箱 
  9.     receiver = f'{wy163list[0]}@163.com'#收件人 
  10.     mail_title = '冰冰向您發(fā)送了新郵件' #郵件標題 
  11.     #郵件正文內(nèi)容 
  12.     #為保證接口穩(wěn)定,調(diào)用頻率請控制在200次/10分鐘 
  13.     mail_content = f"親愛的{wy163list[0]},我是冰冰,<p>上次收到你給我的來信:<p>{msgword}<p>我很感動,特意給你回信并附上冰冰的美照哦~<p>現(xiàn)在我想對你說:<p>{res}<p>您好,<p>歡迎關(guān)注我的CSDN個人賬號以獲取最新創(chuàng)意好文,<p>開啟python魔法之旅:</p> <p><a >點擊此處進入CSDN</a></p>" 
  14.     msg = MIMEMultipart() 
  15.     #將圖片顯示在正文 
  16.     global i 
  17.     with open(f'wbb{i}.gif''rb'as f: 
  18.         #圖片添加到正文 
  19.         msgImage = MIMEImage(f.read()) 
  20.         # 定義圖片ID 
  21.     msgImage.add_header('Content-ID''<image1>'
  22.     msg.attach(msgImage) 
  23.     msg["Subject"] = Header(mail_title,'utf-8'
  24.     msg["From"] =Header("冰冰","utf-8"
  25.     msg["To"] = receiver 
  26.     msg.attach(MIMEText(mail_content,'html')) 
  27.     try: 
  28.         smtp = SMTP_SSL(host_server) # ssl登錄連接到郵件服務(wù)器 
  29.         smtp.set_debuglevel(1) # 0是關(guān)閉,1是開啟debug 
  30.         smtp.ehlo(host_server) # 跟服務(wù)器打招呼,告訴它我們準備連接,最好加上這行代碼 
  31.         smtp.login(sender,pwd) 
  32.         smtp.sendmail(sender,receiver,msg.as_string()) 
  33.         smtp.quit() 
  34.         print("郵件發(fā)送成功"
  35.     except smtplib.SMTPException: 
  36.         print("無法發(fā)送郵件"

五、本文完整代碼

到這里呢,本文就該告一段落了,小編這里把整體代碼都奉上啦,歡迎大家動手實踐,有問題可以隨時私我噢。

  1. # -*- coding: utf-8 -*- 
  2. from bs4 import BeautifulSoup 
  3. import random 
  4. import requests 
  5. from smtplib import SMTP_SSL 
  6. import smtplib 
  7. from email.mime.text import MIMEText 
  8. from email.mime.multipart import MIMEMultipart 
  9. from email.header import Header 
  10. from email.mime.image import MIMEImage 
  11.   
  12. def getbb(): 
  13.     w0='https://img1.baidu.com/it/u=1762637264,598758602&fm=26&fmt=auto&gp=0.jpg' 
  14.     w1='https://img1.baidu.com/it/u=2231058723,1803013600&fm=11&fmt=auto&gp=0.jpg' 
  15.     w2='https://img0.baidu.com/it/u=3960011140,3634140813&fm=11&fmt=auto&gp=0.jpg' 
  16.     wlist=[w0,w1,w2] 
  17.     global i 
  18.     i=random.randint(0,2)#隨機選取一個冰冰動圖 
  19.     url=wlist[i] 
  20.     req=requests.get(url).content 
  21.     with open(f'wbb{i}.gif','wb'as p: 
  22.         p.write(req) 
  23.   
  24. def getwords(): 
  25.     texts = [] 
  26.     url = 'https://www.duanwenxue.com/huayu/lizhi/list_{}.html'.format(random.randint(1,114)) 
  27.     response = requests.get(url) 
  28.     texts.append(response.text) 
  29.     articles = [] 
  30.     for text in texts: 
  31.         soup = BeautifulSoup(text,'lxml'
  32.         arttis = soup.find('div', class_='list-short-article').find_all('a', {'target'"_blank"})  # 尋找情話內(nèi)容 
  33.             #  通過列表推導(dǎo)式以及for循環(huán)獲取到每個a標簽里面的text內(nèi)容并通過strip去除空格 
  34.         articles.extend([arttis[i].text.strip() for i in range(len(arttis))]) 
  35.     todaywords = articles[random.randint(0, len(articles)-1)]   # 隨機選取其中一條情話 
  36.     return todaywords 
  37.   
  38. def qingyunke(msg): 
  39.     url = f'http://api.qingyunke.com/api.php?key=free&appid=0&msg={msg}' 
  40.     html = requests.get(url) 
  41.     return html.json()["content"
  42.   
  43. def sendemail(): 
  44.     msgword = getwords() 
  45.     res = qingyunke(msgword) 
  46.     xhx='你的163郵箱賬號'#你實際使用的163郵箱賬號 
  47.     pwd = '你的授權(quán)密碼'#剛剛生成的163授權(quán)密碼 
  48.     wy163list=[xhx]#收件人列表,可以擴充 
  49.     host_server = 'smtp.163.com'  #163郵箱smtp服務(wù)器 
  50.     sender = f'{xhx}@163.com' #發(fā)件人郵箱 
  51.     receiver = f'{wy163list[0]}@163.com'#收件人 
  52.     mail_title = '冰冰向您發(fā)送了新郵件' #郵件標題 
  53.     #郵件正文內(nèi)容 
  54.     #為保證接口穩(wěn)定,調(diào)用頻率請控制在200次/10分鐘 
  55.     mail_content = f"親愛的{wy163list[0]},我是冰冰,<p>上次收到你給我的來信:<p>{msgword}<p>我很感動,特意給你回信并附上冰冰的美照哦~<p>現(xiàn)在我想對你說:<p>{res}<p>您好,<p>歡迎關(guān)注我的CSDN個人賬號以獲取最新創(chuàng)意好文,<p>開啟python魔法之旅:</p> <p><a >點擊此處進入CSDN</a></p>" 
  56.     msg = MIMEMultipart() 
  57.     #將圖片顯示在正文 
  58.     global i 
  59.     with open(f'wbb{i}.gif''rb'as f: 
  60.         #圖片添加到正文 
  61.         msgImage = MIMEImage(f.read()) 
  62.         # 定義圖片ID 
  63.     msgImage.add_header('Content-ID''<image1>'
  64.     msg.attach(msgImage) 
  65.     msg["Subject"] = Header(mail_title,'utf-8'
  66.     msg["From"] =Header("冰冰","utf-8"
  67.     msg["To"] = receiver 
  68.     msg.attach(MIMEText(mail_content,'html')) 
  69.     try: 
  70.         smtp = SMTP_SSL(host_server) # ssl登錄連接到郵件服務(wù)器 
  71.         smtp.set_debuglevel(1) # 0是關(guān)閉,1是開啟debug 
  72.         smtp.ehlo(host_server) # 跟服務(wù)器打招呼,告訴它我們準備連接,最好加上這行代碼 
  73.         smtp.login(sender,pwd) 
  74.         smtp.sendmail(sender,receiver,msg.as_string()) 
  75.         smtp.quit() 
  76.         print("郵件發(fā)送成功"
  77.     except smtplib.SMTPException: 
  78.         print("無法發(fā)送郵件"
  79.   
  80. if __name__ == '__main__'
  81.     getbb() 
  82.     sendemail() 

運行時間大概在30s~1min30s哦,快登錄你的郵箱查看冰冰給你的悄悄話吧。

效果如下:

好了,各位有沒有g(shù)et到冰冰呢?歡迎在下方評論區(qū)留言討論哦。

六、總結(jié)

本文基于Python網(wǎng)絡(luò)爬蟲,抓取了王冰冰靚女的動圖圖片,之后利用網(wǎng)絡(luò)爬蟲技術(shù)獲取了文學(xué)詩篇網(wǎng)站的表白橋段,通過青云客平臺,打造了一款智能機器人模擬冰冰回信,并且基于郵箱服務(wù)器,模擬冰冰向自己發(fā)送新郵件,每天打開郵箱,都可以收到女神的郵箱,心情美滋滋~如此有趣的項目,快快來嘗試吧!

【編輯推薦】

 

責(zé)任編輯:姜華 來源: Python爬蟲與數(shù)據(jù)挖掘
相關(guān)推薦

2018-12-10 10:00:06

Python神經(jīng)網(wǎng)絡(luò)編程語言

2021-01-30 10:37:18

ScrapyGerapy網(wǎng)絡(luò)爬蟲

2021-04-01 09:02:38

Python小說下載網(wǎng)絡(luò)爬蟲

2022-08-04 10:39:23

Jenkins集成CD

2021-08-09 13:31:25

PythonExcel代碼

2021-11-09 09:01:36

Python網(wǎng)絡(luò)爬蟲Python基礎(chǔ)

2021-04-26 09:00:41

自動化測試IDEAirtest模擬器手機

2022-10-19 14:30:59

2021-03-02 09:05:13

Python

2021-05-10 06:48:11

Python騰訊招聘

2021-02-02 13:31:35

Pycharm系統(tǒng)技巧Python

2021-12-11 20:20:19

Python算法線性

2021-02-06 14:55:05

大數(shù)據(jù)pandas數(shù)據(jù)分析

2011-03-28 16:14:38

jQuery

2021-02-04 09:00:57

SQLDjango原生

2021-05-17 21:30:06

Python求均值中值

2009-04-22 09:17:19

LINQSQL基礎(chǔ)

2021-03-23 09:05:52

PythonExcelVlookup

2021-02-10 09:34:40

Python文件的壓縮PyCharm

2020-12-17 09:40:01

Matplotlib數(shù)據(jù)可視化命令
點贊
收藏

51CTO技術(shù)棧公眾號