查看原文
其他

QQ 半自动发送情话,我追到了女神 | 原力计划

程序人生 2020-10-29

作者 | FORMAT-qi

责编 | 王晓曼

出品 | CSDN博客

前言


之前追女神时候用的情话发送脚本,每次工作日上班开启电脑,就会唤醒QQ,然后发送一条情话给女神,自动唤醒QQ复制情话,不用担心遗忘,现在整理分享一下,妈妈再也不用担心我找不到对象了。

效果图:

流程:python爬取情话 -> 电脑开机启动脚本 -> python调起QQ并定位到指定聊天框-> 从情话文件读取一条情话,复制到剪切板上。


开始


1、爬取情话文件

情话网站都很好爬,过程就是打开每个情话页面,获取情话,存成txt文件。存的时候每一条用符号隔开,爬取程序运行一次就行了,爬的量就能用好久。

import requests
import re
def fuckLoveWords():
    with open("qinghua.txt", "w", encoding="utf-8") as f:
        for i in range(1000, 1200):
            print("第" + str(i) + "页")
            try:
                url = "http://www.ainicr.cn/qh/" + str(i) + ".html"
                response = requests.get(url).text
                counts = re.findall('<p>(.*?)</p></a>',response)
                for count in counts:
                    f.write(count + '!@#$%')
            except:
                pass
if __name__ == "__main__":
  fuckLoveWords()

抓取结果:

2、Python 调起QQ程序发送

import os
import subprocess
def getText():
    filePath = "/Users/jsq/PycharmProjects/qinghua/qinghua.txt"
    with open(filePath, 'r+', encoding='utf-8') as f:  # 打开文件
        content = f.read()  # 读取
        content = content.split("!@#$%")
        res = content[0]
        del content[0]
        contentStr = '!@#$%'.join(content)
    with open(filePath, 'w', encoding='utf-8') as f2:  # 打开文件
        f2.write(contentStr)
        f.close()
        f2.close()
    return res

if __name__ == "__main__":
    str = getText()
    print(str)
    os.system("open 'tencent://message/?uin=输入要调起的QQ&Site=&Service=201&sigT=2cf2671557dd'")
    p1=subprocess.Popen(["echo", str], stdout=subprocess.PIPE)
    subprocess.Popen(["pbcopy"], stdin=p1.stdout)

注意:这个文件里的 filePath 必须用绝对路径,不然后边的 shell 脚本运行 Python , Python 读写文件不成功。

3、配置开启触发python脚本

这里就用到了 Mac 电脑自带的自动操作APP:

(1)打开:自动操作 APP

(2)选择应用程序

(3)选择实用工具,运行脚本

(4)写入 shell 语句

sleep600 是我个人习惯,开机登录登录QQ和微信之后去倒个水,打个卡之类的,所以让它延时10分钟执行,可以不加。

(5)设置开机自启

点击文件,储存,储存成一个App。

然后到系统偏好设置->用户与群组->登录项->添加这个 App 就大功告成了。


其它

 

1.为什么叫半自动呢?

 因为还要 command+v 和 按一下 enter 键。

2.有人想问为什么不用微信用QQ?

因为我没有找到微信的调起方法。QQ的Info.plist文件配置有Schemes,能从外部通过qq:// 或者tencent:// 的方法从浏览调起能从外部调起,微信里边没有配置,QQ能在浏览器打开,通过链接tencent://message/?Menu=yes&uin=xxxxxxxxx&Site=&Service=201&sigT=2cf2671557dd打开指定的聊天框,微信中没有找到。

**3.定时发送 还可以用crontab**,具体用法自己搜一下好了。

最后祝愿每个程序员都能追到自己的女神。

版权声明:本文为CSDN博主「FORMAT-qi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_46602773/article/details/105841766

更多精彩推荐

又跌了,扎心!6 月全国程序员工资平均 14404 元 | 原力计划

因为一个跨域请求,我差点丢了饭碗

百度搜索大数据:“摆摊技巧”搜索热度暴涨655%;中国电信:将逐步关闭3G网络业务;IntelliJ IDEA新版发布|极客头条

云计算,巨头们的背水一战

Gary Marcus:因果熵理论的荒诞和认知科学带给AI的11个启示 | 文末赠书

公链的历史交叉口:PoS还能走多远?

点击阅读原文,精彩继续。

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存