lishunwei 发表于 2020-3-11 21:31

接上个帖子,大家说教程不够详细,爬取2000条情话通过QQ发给你女朋友

上个帖子:https://www.52pojie.cn/thread-1128437-1-1.html教程已经在代码中注释出来
话不多说上代码:

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)#此处是
      #发送的消息
      msg = i#此处的i是字符串类型
      #窗口名字
      name = "二硫碘化钾"#在引号里面填窗口的名称,有备注填备注,没有备注填网名,不要打开多个窗口,尽量只打开发信息的窗口和跑代码的窗口
      #将测试消息复制到剪切板中
      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啦
我已经将写入本地代码注释掉了
'''

woaini1123 发表于 2020-3-11 21:55

我没有女朋友。

ciker_li 发表于 2020-3-11 21:59

竟然还有情话网。
爬虫文章,最有意思的就是各种网址了

jidesheng6 发表于 2020-3-11 22:15

真心对真心的才是最好的,这个就研究一下win32模块的作用,情话都要机器发送啊,哈哈

lishunwei 发表于 2020-3-12 07:53

jidesheng6 发表于 2020-3-11 22:15
真心对真心的才是最好的,这个就研究一下win32模块的作用,情话都要机器发送啊,哈哈

实现全自动嘛哈哈哈
页: [1]
查看完整版本: 接上个帖子,大家说教程不够详细,爬取2000条情话通过QQ发给你女朋友