新手上路--用爬取下来的2000句情话通过QQ发给你想发的人
爬取情话网的思路用到了https://www.52pojie.cn/forum.php?mod=viewthread&tid=1113388&extra=page%3D1%26filter%3Dtypeid%26typeid%3D29的帖子然后用到了库pywin32模块获取QQ窗口并发送消息
话不多说上代码:
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)
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:
#发送的消息
msg = 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()
def writetext(txt):#此处是将爬取的情话写入本地的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) 上官轩墨 发表于 2020-3-11 08:19
楼主提示获取页面错误
有的页面是没有的所以会提示错误,所以用try except使代码正常运行 我要发给我女朋友 楼主提示获取页面错误 女朋友怎么领取 谢谢分享,可惜没有发送的对象。 哈哈哈哈哈哈 一个一个单身小技巧 ixhao 发表于 2020-3-11 08:26
女朋友怎么领取
这就进入了我知识盲区了{:1_889:} 疯了吧,这绝对算是骚扰