目錄
一、爬取冰冰動圖" >一、爬取冰冰動圖
二、自動產生表白話語" >二、自動產生表白話語
三、冰冰回信ing" >三、冰冰回信ing
四、冰冰向您發送了新郵件" >四、冰冰向您發送了新郵件
五、本文完整代码" >五、本文完整代码
六、总结" >六、总结
首頁 後端開發 Python教學 手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

Jul 25, 2023 pm 02:40 PM

一、爬取冰冰動圖

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

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

右鍵選擇你喜歡的圖片,在新標籤頁中開啟圖片,複製上方的url,如圖:

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

用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 i
    i=random.randint(0,2)#随机选取一个冰冰动图
    url=wlist[i]
    req=requests.get(url).content
    with open(f'wbb{i}.gif','wb') as p:
        p.write(req)
登入後複製

二、自動產生表白話語

這裡的告白話語是你想跟冰冰說的話哦,你可以自己打字,當然你要是表白話語都懶得自己說,小編也幫你自動爬取了網上的文學詩篇哦,要多有詩人氣質就多有氣質。

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

也將此功能封裝成一個函數如下:

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

接下來要進入重點了,你給冰冰說話了,還要讓冰冰給你回复,那如何來實現呢?

這裡用一個智慧機器人模擬冰冰並產生回信內容。

現在的智慧聊天機器人有不少,推薦有錢可以選圖靈機器人,免費的可以用青雲客。

此文用青雲客實現,無需註冊,直接呼叫介面即可,非常方便。

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

封裝成函數,輸入表白話語,自動返回智慧對話:

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會發生很有趣的事:

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

四、冰冰向您發送了新郵件

最後就是要讓冰冰給您送私信並附上她的美照了~

可以用常見的郵箱實現,比如163郵箱或者QQ郵箱都可以。

這裡以163信箱為例,點選設定:

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

#點選POP3/SMTP/IMAP:

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

#點選開啟IMAP/SMTP服務:

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

會產生一個授權碼,這個授權碼複製下來,後面需要用到。

下面是我寫好的程式碼,你只需要填寫你的帳號和授權碼就可以了哦。

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=&#39;https://blog.csdn.net/x978404178?spm=1001.2100.3001.5343&#39;>点击此处进入CSDN</a></p>"
    msg = MIMEMultipart()
    #将图片显示在正文
    global i
    with open(f&#39;wbb{i}.gif&#39;, &#39;rb&#39;) as f:
        #图片添加到正文
        msgImage = MIMEImage(f.read())
        # 定义图片ID
    msgImage.add_header(&#39;Content-ID&#39;, &#39;<image1>&#39;)
    msg.attach(msgImage)
    msg["Subject"] = Header(mail_title,&#39;utf-8&#39;)
    msg["From"] =Header("冰冰","utf-8")
    msg["To"] = receiver
    msg.attach(MIMEText(mail_content,&#39;html&#39;))
    try:
        smtp = SMTP_SSL(host_server) # ssl登录连接到邮件服务器
        smtp.set_debuglevel(1) # 0是关闭,1是开启debug
        smtp.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 MIMEImage
 
def getbb():
    w0=&#39;https://img1.baidu.com/it/u=1762637264,598758602&fm=26&fmt=auto&gp=0.jpg&#39;
    w1=&#39;https://img1.baidu.com/it/u=2231058723,1803013600&fm=11&fmt=auto&gp=0.jpg&#39;
    w2=&#39;https://img0.baidu.com/it/u=3960011140,3634140813&fm=11&fmt=auto&gp=0.jpg&#39;
    wlist=[w0,w1,w2]
    global i
    i=random.randint(0,2)#随机选取一个冰冰动图
    url=wlist[i]
    req=requests.get(url).content
    with open(f&#39;wbb{i}.gif&#39;,&#39;wb&#39;) as p:
        p.write(req)
 
def getwords():
    texts = []
    url = &#39;https://www.duanwenxue.com/huayu/lizhi/list_{}.html&#39;.format(random.randint(1,114))
    response = requests.get(url)
    texts.append(response.text)
    articles = []
    for text in texts:
        soup = BeautifulSoup(text,&#39;lxml&#39;)
        arttis = soup.find(&#39;div&#39;, class_=&#39;list-short-article&#39;).find_all(&#39;a&#39;, {&#39;target&#39;: "_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
 
def qingyunke(msg):
    url = f&#39;http://api.qingyunke.com/api.php?key=free&appid=0&msg={msg}&#39;
    html = requests.get(url)
    return html.json()["content"]
 
def sendemail():
    msgword = getwords()
    res = qingyunke(msgword)
    xhx=&#39;你的163邮箱账号&#39;#你实际使用的163邮箱账号
    pwd = &#39;你的授权密码&#39;#刚刚生成的163授权密码
    wy163list=[xhx]#收件人列表,可以扩充
    host_server = &#39;smtp.163.com&#39;  #163邮箱smtp服务器
    sender = f&#39;{xhx}@163.com&#39; #发件人邮箱
    receiver = f&#39;{wy163list[0]}@163.com&#39;#收件人
    mail_title = &#39;冰冰向您发送了新邮件&#39; #邮件标题
    #邮件正文内容
    #为保证接口稳定,调用频率请控制在200次/10分钟
    mail_content = f"亲爱的{wy163list[0]},我是冰冰,<p>上次收到你给我的来信:<p>{msgword}<p>我很感动,特意给你回信并附上冰冰的美照哦~<p>现在我想对你说:<p>{res}<p>您好,<p>欢迎关注我的CSDN个人账号以获取最新创意好文,<p>开启python魔法之旅:</p> <p><a href=&#39;https://blog.csdn.net/x978404178?spm=1001.2100.3001.5343&#39;>点击此处进入CSDN</a></p>"
    msg = MIMEMultipart()
    #将图片显示在正文
    global i
    with open(f&#39;wbb{i}.gif&#39;, &#39;rb&#39;) as f:
        #图片添加到正文
        msgImage = MIMEImage(f.read())
        # 定义图片ID
    msgImage.add_header(&#39;Content-ID&#39;, &#39;<image1>&#39;)
    msg.attach(msgImage)
    msg["Subject"] = Header(mail_title,&#39;utf-8&#39;)
    msg["From"] =Header("冰冰","utf-8")
    msg["To"] = receiver
    msg.attach(MIMEText(mail_content,&#39;html&#39;))
    try:
        smtp = SMTP_SSL(host_server) # ssl登录连接到邮件服务器
        smtp.set_debuglevel(1) # 0是关闭,1是开启debug
        smtp.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哦,快登录你的邮箱查看冰冰给你的悄悄话吧。

效果如下:

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)

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

六、总结

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

以上是手把手教你用Python網路爬蟲+自動化來創建一位屬於你自己的虛擬女票(附源碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
Python vs.C:申請和用例 Python vs.C:申請和用例 Apr 12, 2025 am 12:01 AM

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

Python:遊戲,Guis等 Python:遊戲,Guis等 Apr 13, 2025 am 12:14 AM

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python與C:學習曲線和易用性 Python與C:學習曲線和易用性 Apr 19, 2025 am 12:20 AM

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。

Python和時間:充分利用您的學習時間 Python和時間:充分利用您的學習時間 Apr 14, 2025 am 12:02 AM

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python vs.C:探索性能和效率 Python vs.C:探索性能和效率 Apr 18, 2025 am 12:20 AM

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

Python:自動化,腳本和任務管理 Python:自動化,腳本和任務管理 Apr 16, 2025 am 12:14 AM

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

Python標準庫的哪一部分是:列表或數組? Python標準庫的哪一部分是:列表或數組? Apr 27, 2025 am 12:03 AM

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

學習Python:2小時的每日學習是否足夠? 學習Python:2小時的每日學習是否足夠? Apr 18, 2025 am 12:22 AM

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。

See all articles