概述
几只程序猿被割了韭菜,于是写了个爬虫小程序,实时查看基金涨(跌)幅
import win32gui
import win32con
import win32clipboard as w
from bs4 import BeautifulSoup # 网页解析,获取数据
import urllib.request, urllib.error # 制定URL,获取网页数据
import time
import threading
import json
list = ['003834', '002251', '161725', '003095']
class QQMessageSend:
def send_message(self,msg):
# 窗口名字,就是备注名
name = "老韭菜"
# 将测试消息复制到剪切板中
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, msg)
w.CloseClipboard()
# 获取窗口句柄
handle = win32gui.FindWindow(None, name)
# 填充消息
win32gui.SendMessage(handle, 770, 0, 0)
# 回车发送消息
win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
def main(self, msg):
# 消息内容
# 循环发送
self.send_message(msg)
# 爬取网页
def getData(baseurl):
return askURL(baseurl)
# 得到指定一个URL的网页内容
def askURL(url):
head = { # 模拟浏览器头部信息,向豆瓣服务器发送消息
"User-Agent": "Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 80.0.3987.122 Safari / 537.36"
}
# 用户代理,表示告诉豆瓣服务器,我们是什么类型的机器、浏览器(本质上是告诉浏览器,我们可以接收什么水平的文件内容)
request = urllib.request.Request(url, headers=head)
html = ""
try:
response = urllib.request.urlopen(request)
html = response.read().decode("utf-8")
except urllib.error.URLError as e:
if hasattr(e, "code"):
print(e.code)
if hasattr(e, "reason"):
print(e.reason)
return html
def fun_timer():
for i, val in enumerate(list):
s = int(round(time.time() * 1000))
baseurl = "http://fundgz.1234567.com.cn/js/" + val + ".js?rt=" + str(s)
html = getData(baseurl) # 保存获取到的网页源码
soup = str(BeautifulSoup(html, "html.parser"))
qq_message_send = QQMessageSend()
s = soup[soup.find('{'): soup.find('}')+1]
d = json.loads(s)
s = d['name'] + ":涨幅:" + d['gszzl'] + "%"
print(s)
qq_message_send.main(s)
print("爬取完毕!")
global timer
timer = threading.Timer(1800, fun_timer)
timer.start()
# 当程序执行时
if __name__ == "__main__":
# 调用函数
timer = threading.Timer(1, fun_timer)
timer.start()
最后
以上就是害羞野狼为你收集整理的python爬虫并向qq发送消息的全部内容,希望文章能够帮你解决python爬虫并向qq发送消息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复