mac下的P2P下载工具目前只有迅雷了,可是大家都知道mac下只有“会员迅雷”才能下载,没会员就是个废物。对于冷门资源离线下载还是是非常非常有用的,高速下载对速度提升也是显而易见。
想必都不会为了临时下载一个资源去开一个会员,肯定有过上网搜迅雷会员的经历;这里教大家如何把这个过程变成一个自动化的工作。如果长期使用迅雷的话,建议还是开会员去;本教程仅供学习使用,用完请于24小时之内删除
先看看效果:
随便百度一下,就能找到一堆免费迅雷会员分享的地址,具体就不指出了;然后把每天最新的账号分享信息抓取出来。
这里使用python,可以用pyquery
来解析网页,然后一个正则匹配就拿到了结果:
#! /usr/bin/python
# encoding: utf-8
import sys, urllib, re
from pyquery import PyQuery as pq
from workflow import Workflow
_url = 'http://www.xunleihuiyuan.net/'
def main(wf):
args = wf.args
results = _get_from_web()
map(lambda (x,y):wf.add_item(u'账号:%s' % x, u'密码:%s' % y, arg=u'%s %s' %(x,y), valid=True), results)
wf.send_feedback()
def _get_today_url():
home = urllib.urlopen(_url).read().decode('utf-8')
return pq(home)('.cate1 .post-title a')[0].get('href')
def _get_from_web():
page = urllib.urlopen(_get_today_url()).read().decode('utf-8')
results = r = pq(page)('.formattext div').text()
return re.findall(ur'([a-z0-9A-Z:]{6,})\D+(\d+)', results)
使用python的alfred workflow sdk的话非常简单,文档在这里
这里要处理的一个问题是,账号和密码如何简单滴传递出来;一起放在剪切版肯定不太合适。幸好alfred自带剪切版历史的功能,我们分别两次把账号和密码复制到剪切版,要使用的时候,激活cmd + option + c
然后从剪切版历史里面选择账号密码即可:效果如下:
然后,按下cmd + 2
得到账号,cmd + 3
得到密码!具体代码比较简单:
import subprocess,time
query = "{query}"
def copy_osx(text):
p = subprocess.Popen(['pbcopy', 'w'], stdin=subprocess.PIPE, close_fds=True)
p.communicate(input=text.encode('utf-8'))
account, pwd = query.split()
copy_osx(account)
time.sleep(0.3)
copy_osx(pwd)
这样,一个简单的迅雷会员获取工作流就完成了!
2015/12/2 更新:更新正则表达式;解决某些时候匹配不到的问题。
2024 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123