定时爬虫抓当日免费应用:Scrapy + Tkinter + LaunchControl

花了个周末学了下Scrapy,正好一直想买mindnode,于是顺手做了个爬虫,抓取爱范儿每天的限免应用信息。

Thinking

大概思路就是使用LaunchControl每天定时(比如早上9点50,这时正好刚到公司不久)跑一下爬虫脚本,如果找到感兴趣的应用在限免,就使用Tkinter弹出提示。当然,也可以直接用Scrapy做定时任务,以后再说。

Coding

Scrapy + Tkinter

# -*- coding: utf-8 -*-
import scrapy
import Tkinter
from scrapy.shell import inspect_response import json # 设置感兴趣的app名称 I_want_apps = set(['mindnode pro', 'u.memory']) class XianmianSpider(scrapy.Spider): user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36' name = "xianmian" allowed_domains = ["app.so"] start_urls = ( 'http://app.so/api/v1.1/appso/discount/?platform=web&limit=10', ) def parse(self, response): jsonresponse = json.loads(response.body_as_unicode()) apps = jsonresponse['objects'] appTitles = {item['display_name'].lower() for item in apps} self.logger.info('today\' apps are: ' + str(appTitles)) the_apps = appTitles & I_want_apps if the_apps: self.showMsg('found the apps: {}'.format(list(the_apps))) def showMsg(self, msg): import Tkinter root = Tkinter.Tk() root.title('福利到!') label = Tkinter.Label(root, text=msg) label.pack() center_window(root, 300, 240) root.maxsize(600, 400) root.minsize(300, 240) Tkinter.mainloop() 
def get_screen_size(window):  
    return window.winfo_screenwidth(),window.winfo_screenheight() def get_window_size(window): return window.winfo_reqwidth(),window.winfo_reqheight() def center_window(root, width, height): screenwidth = root.winfo_screenwidth() screenheight = root.winfo_screenheight() size = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2) print(size) root.geometry(size) 

LaunchControl

LaunchControl用起来比较直观。当然,也可以直接用mac自带的launchctl,具体可参考launchctl使用说明

转载于:https://www.cnblogs.com/dtstack/p/10065419.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值