python 实时数据推送_python scrapy 爬取金十数据并自动推送到微信
一、背景
因业务需要获取风险经济事件并采取应对措施,但因为种种原因又疏忽于每天去查看财经日历,于是通过爬取金十数据网站并自动推送到微信查看。
二、目标实现
image
三、环境与工具
1、pycharm:python开发IDE
四、实现思路
爬虫获取风险事件,然后python通过句柄定位到微信窗口,模拟键鼠操作本机微信客户端发给好友(自己),最开始本来使用微信itchat库,但是这个是基于微信网页版,登录几次后微信提示:为了你的帐号安全,此微信号已不允许登录网页微信。你可以使用Windows微信或Mac。
五、主要代码
# -*- coding: utf-8 -*-
import scrapy
from selenium import webdriver
from scrapy import signals
import win32con,win32gui,time,win32api
import win32clipboard as w
import re
from datetime import datetime
hwnd = 394916 #微信窗口句柄,使用句柄工具获取
class JinshiSpider(scrapy.Spider):
name = 'jinshirili'
allowed_domains = ['jinshi.com']
start_urls = ['https://rili.jin10.com/']
@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
spider = super(JinshiSpider, cls).from_crawler(crawler, *args, **kwargs)
options = webdriver.ChromeOptions()
options.add_argument('--headless')
spider.chrome = webdriver.Chrome(chrome_options=options)
crawler.signals.connect(spider.spider_closed, signal=signals.spider_closed)
return spider
def spider_closed(self, spider):
spider.chrome.quit()
print('一次爬取结束-----等待下次循环爬取')
def parse(self, response):
#获取风险事件列表
contents = response.xpath('//div[@class="jin-rili_content J_rili_content"]//tr')
# print(len(contents))
for i,content in enumerate(contents):
searchObj = re.search(r'', content.extract(),re.I)
lljd = content.extract().__contains__("利率决")
if searchObj or lljd:
if int(searchObj.group(1)) >= 80 or lljd: #风险等级达到4星或者是利率决定
# print("searchObj.group(1) : ", searchObj.group(1))
#
美国至3月20日美联储利率决定(上限)
searchObj = re.search(r'
[\s\r\n]+([\u4e00-\u9fa50-9a-zA-Z]+)', content.extract(), re.I)
event = ""
timeS = ""
if searchObj :
event = searchObj.group(1)
# print("event : ", event)
#
02:00
searchObj = re.search(r'time.*>([0-9:]+)
if searchObj:
timeS = searchObj.group(1)
# print("time : ", time)
msg = event+" "+timeS
# self.sendMsgToWX(msg)
#8 12 19点推送到微信
if datetime.now().hour == 8 or datetime.now().hour == 12 or datetime.now().hour == 19 :
self.sendMsgToWX(msg)
print(msg)
def sendMsgToWX(self, msg):
# 将微信放在前台
win32gui.SetForegroundWindow(hwnd)
time.sleep(2)
# 将鼠标移到(750, 700)
win32api.SetCursorPos((750, 700))
# 单击左键获取焦点
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 750, 700, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 750, 700, 0, 0)
time.sleep(1)
# 将内容写入到粘贴板
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_TEXT, msg.encode(encoding='gbk'))
w.CloseClipboard()
time.sleep(1)
# 单击鼠标右键弹出上下文菜单
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 750, 700, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 750, 700, 0, 0)
time.sleep(1)
# 单击鼠标左键点击粘贴
win32api.SetCursorPos((770, 720))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 770, 720, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 770, 720, 0, 0)
time.sleep(1)
# 按回车键发送
win32gui.PostMessage(hwnd, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
win32gui.PostMessage(hwnd, win32con.WM_KEYUP, win32con.VK_RETURN, 0)
python 实时数据推送_python scrapy 爬取金十数据并自动推送到微信相关推荐
- python爬虫教材推荐 豆瓣_Python爬虫爬取豆瓣书籍数据
炎热的夏天,酷暑难挡,难免会心烦意燥,睡前随手拿起枕边看过很多遍的「平凡的世界」.看书,会让躁动的心瞬间安静下来. 生活不能等待别人来安排,要自己去争取和奋斗:而不论其结果是喜是悲,但可以慰藉的是,你 ...
- 利用Python爬取金十数据新闻事件
刚入门爬虫,由于女朋友的工作需要,便写了这个爬虫程序.本人也是第一次发帖, 相信爬虫也没什么好介绍的.直接上代码. from selenium import webdriver from bs4 im ...
- python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
这篇文章主要介绍了python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析的实例,帮助大家更好的理解和学习使用python.感兴趣的朋友可以了解下 一.环境准备 python3.8.3 ...
- scrapy爬取酒店评论数据
scrapy爬取酒店评论数据 代码 here:GitHub:scrapy_hotel_review 采用scrapy爬取酒店评论数据. 总共有28W条记录. 做某NLP任务,需要一些hotel rev ...
- python实战|用scrapy爬取当当网数据
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python进击者 ( 想要学习Python?Pyth ...
- python xpath循环_Python爬虫 爬取北京二手房数据
点击蓝字"python教程"关注我们哟! 前言 Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及 ...
- python爬取京东手机数据_用scrapy爬取京东的数据
本文目的是使用scrapy爬取京东上所有的手机数据,并将数据保存到MongoDB中. 一.项目介绍 主要目标 1.使用scrapy爬取京东上所有的手机数据 2.将爬取的数据存储到MongoDB 环境 ...
- python爬虫爬取多个页面_Python 爬虫爬取多页数据
但是,按照常规的爬取方法是不可行的,因为数据是分页的: 最关键的是,不管是第几页,浏览器地址栏都是不变的,所以每次爬虫只能爬取第一页数据.为了获取新数据的信息,点击F12,查看页面源代码,可以发现数据 ...
- Python网络爬虫3 - 生产者消费者模型爬取某金融网站数据
博客首发于www.litreily.top 应一位金融圈的朋友所托,帮忙写个爬虫,帮他爬取中国期货行业协议网站中所有金融机构的从业人员信息.网站数据的获取本身比较简单,但是为了学习一些新的爬虫方法和技 ...
最新文章
- ubuntu mysql emma_Ubuntu 11.10 MySQL客户端 Emma 6.0 中文乱码解决办法
- 技术进阶:Kubernetes高级架构与应用状态部署
- ​语义分割损失函数​
- poj-1062-昂贵的聘礼
- 什么是尾递归?测试python尾递归
- 从无盘启动看 Linux 启动原理
- Windows下 jupyter notebook 运行multiprocessing 报错的问题与解决方法
- MATLAB矩阵对称旋转
- python中pow_如何在python中找到pow(a,b,c)的反向?
- 周鸿祎为何忘不掉搜索?
- linux物理网卡地址没有,Linux更改网卡物理地址
- 无缝世界网游服务器架构的设计思路
- java中布尔类型的常量有哪两种,【填空题】Java中布尔型的常量有两种,它们是___和___。...
- java 调用存储过程structdescriptor_Spring SimpleJdbcCall如何在存储过程调用中为oracle STRUCT指定模式...
- 网页无法正常显示Lato字体,绕路而行
- ssh连接docker容器
- windows下解压xxx.war文件
- php fakepath,在文件上载中获取真实路径而不是“fakepath”
- php转png在线转换,png转ico在线工具
- js / vue 批量打印二维码图片、PDF、文档