美文网首页
将爬取下来的2000句情话通过QQ发给你的女朋友!

将爬取下来的2000句情话通过QQ发给你的女朋友!

作者: 大威锅丶 | 来源:发表于2020-06-12 11:39 被阅读0次

    爬取情话网的思路引用了https://www.52pojie.cn/thread-1113388-1-1.html的帖子
    然后用到了库pywin32模块获取QQ窗口并发送消息
    代码如下:

    '''
    Data:2020/3/11
    --- 大威锅 | DaWeiGuo ---
    '''
    import time
    import requests
    import re
    import win32gui
    import win32con
    import win32clipboard as w
     
    url='http://www.ainicr.cn/qh/'
     
    #获取情话网内容 
    def getHtml(url,i):
        try:
            newurl=url + str(i) + '.html'
            r = requests.get(newurl)
            r.raise_for_status()
            r.encoding = r.apparent_encoding
            txt = re.findall('<p>(.*?)</p></a>',r.text)
            #writetext(txt)
            sendmessage(txt)#将获取的情话(此处是一个列表)送到sendmessage(发送消息)函数
     
        except :
            print("获取页面错误!")
     
     
    # def writetext(txt):
    #     f = open('C:/Users/l1768/Desktop/情话.txt',"ab")
    #     sum=0
    #     for i in txt:
    #         sum=sum+1
    #         f.write((str(sum)+'、'+i).encode('utf-8'))
    #         f.write('\n'.encode('utf-8'))
    #         f.seek(2)
         
     
    def main():
        print("开始执行".center(20,'-'))
        for i in range(1000,3000):
            try:
                 time.sleep(10)#此处是获取情话网页面的间歇时间
                 getHtml(url,i)
                 print(i)#打印已经发送的情话到第几页
     
            except :
                 print("错误!!!")
     
    def sendmessage(txt):
        for i in txt:
            time.sleep(2)#此处是将爬取的情话写入本地的txt文件中
            #发送的消息
            msg = i#此处的i是字符串类型
            #窗口名字
            name = "Malloc()"#在引号里面填窗口的名称,有备注填备注,没有备注填网名,不要打开多个窗口,尽量只打开发信息的窗口和跑代码的窗口
            #将测试消息复制到剪切板中
            w.OpenClipboard()
            w.EmptyClipboard()
            w.SetClipboardData(win32con.CF_UNICODETEXT, msg)
            w.CloseClipboard()
            #获取窗口句柄
            handle = win32gui.FindWindow(None, name)
            #while 1==1:
            if 1 == 1:
                #填充消息
                win32gui.SendMessage(handle, 770, 0, 0)
                #回车发送消息
                win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
     
    main()
     
    '''
    ---使用方法---
    代码用到了pywin32库,没有安装的,请自己先用pip命令安装,否则会出错!!!
    执行代码之前打开你要发送消息的窗口,并讲name后面“”里面改为你要发送信息的窗口的名字
    接下来点执行代码就ok啦
    我已经将写入本地代码注释掉了
    '''
    
    效果图.png

    相关文章

      网友评论

          本文标题:将爬取下来的2000句情话通过QQ发给你的女朋友!

          本文链接:https://www.haomeiwen.com/subject/apjgtktx.html