Heim > Artikel > Backend-Entwicklung > Bringen Sie Ihnen Schritt für Schritt bei, wie Sie mithilfe des Python-Webcrawlers und der Automatisierung Ihr eigenes virtuelles Ticket für Frauen erstellen (Quellcode im Anhang).
Der erste Schritt ist sehr einfach. Sie können direkt nach Bingbings Fotos suchen, indem Sie zu einem bestimmten Grad gehen.
Klicken Sie mit der rechten Maustaste, um das Bild auszuwählen, das Ihnen gefällt, öffnen Sie das Bild in einem neuen Tab, kopieren Sie die URL oben, wie im Bild gezeigt:
Verwenden Sie zum Abrufen request.get(url).content Öffnen Sie das Bild und speichern Sie es mit „open“ lokal.
Ich habe 3 Bingbing-GIFs ausgewählt, sie in einer Liste gespeichert und eines nach dem Zufallsprinzip zurückgegeben. Es ist für Sie einfach, die Bingbing-Bibliothek zu erweitern. Der Code lautet wie folgt.
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)
Die Geständniswörter hier sind das, was Sie Bingbing sagen möchten. Wenn Sie zu faul sind, das Geständnis zu sagen Wörter selbst, der Herausgeber hilft Ihnen auch dabei, die literarischen Gedichte automatisch im Internet zu durchsuchen. Wenn Sie das Temperament eines Dichters haben wollen, werden Sie das Temperament haben.
Diese Funktion ist auch wie folgt in eine Funktion gekapselt:
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
Der nächste Schritt besteht darin, auf den Punkt zu kommen. Sie haben mit Bingbing gesprochen und müssen nachfragen Bingbing, um Ihnen zu antworten.
Hier wird ein intelligenter Roboter verwendet, um Bingbing zu simulieren und Antwortinhalte zu generieren.
Heutzutage gibt es viele intelligente Chat-Roboter. Wenn Sie Geld haben, können Sie sich für den Turing-Roboter entscheiden, und wenn Sie frei sind, können Sie Qingyunke verwenden.
Dieser Artikel wird mit Qingyunke implementiert. Es ist keine Registrierung erforderlich. Rufen Sie einfach die Schnittstelle direkt auf, was sehr praktisch ist.
ist in eine Funktion gekapselt, gibt die Geständniswörter ein und kehrt automatisch zum intelligenten Dialog zurück:
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"]
Interessierte Leser können diese Funktion ausprobieren und die im zweiten Schritt gecrawlten Sao-Wörter als Eingabe verwenden Nachricht der Funktion Es ist etwas sehr Interessantes passiert:
Der letzte Schritt besteht darin, Bingbing zu bitten, dir eine private Nachricht zu senden und ihre schönen Fotos anzuhängen~
Das kann Dies kann mit einer gemeinsamen E-Mail-Adresse erfolgen, z. B. 163-E-Mail oder QQ-E-Mail.
Hier ist das Postfach 163 als Beispiel. Klicken Sie auf „Einstellungen“. . Kopieren Sie diesen Autorisierungscode, Sie werden ihn später benötigen.
Das Folgende ist der Code, den ich geschrieben habe. Sie müssen nur Ihre Kontonummer und Ihren Autorisierungscode eingeben. 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 i
with open(f'wbb{i}.gif', 'rb') as f:
#图片添加到正文
msgImage = MIMEImage(f.read())
# 定义图片ID
msgImage.add_header('Content-ID', '<image1>')
msg.attach(msgImage)
msg["Subject"] = Header(mail_title,'utf-8')
msg["From"] =Header("冰冰","utf-8")
msg["To"] = receiver
msg.attach(MIMEText(mail_content,'html'))
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='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) 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 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邮箱账号'#你实际使用的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 i with open(f'wbb{i}.gif', 'rb') as f: #图片添加到正文 msgImage = MIMEImage(f.read()) # 定义图片ID msgImage.add_header('Content-ID', '<image1>') msg.attach(msgImage) msg["Subject"] = Header(mail_title,'utf-8') msg["From"] =Header("冰冰","utf-8") msg["To"] = receiver msg.attach(MIMEText(mail_content,'html')) 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哦,快登录你的邮箱查看冰冰给你的悄悄话吧。
效果如下:
好了,各位有没有get到冰冰呢?欢迎在下方评论区留言讨论哦。
本文基于Python网络爬虫,抓取了王冰冰靓女的动图图片,之后利用网络爬虫技术获取了文学诗篇网站的表白桥段,通过青云客平台,打造了一款智能机器人模拟冰冰回信,并且基于邮箱服务器,模拟冰冰向自己发送新邮件,每天打开邮箱,都可以收到女神的邮箱,心情美滋滋~如此有趣的项目,快快来尝试吧!
Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen Schritt für Schritt bei, wie Sie mithilfe des Python-Webcrawlers und der Automatisierung Ihr eigenes virtuelles Ticket für Frauen erstellen (Quellcode im Anhang).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!