前言
筆者平日閑暇會在網易新聞裡瀏覽新聞,之前發過一篇Alfred Workflow基於Python的入門案例,主要邏輯是輸入內容之後直接顯示item內容,操作比較單調。於是通過進一步學習Alfred Workflow,可以將在item中選擇參數傳入,以此啟用下一個Action。筆者在此基礎上利用Python的BeautifulSoup爬蟲庫寫了一個瀏覽網易新聞頭條的Workflow。
效果
步驟 建立一個空的workflow程式 ,添加一個Script Filter
添加一個Open URL Action
程式碼分析
# -*- coding:utf-8 -*-#匯入需要使用到的模組import sysimport urllib2from workflow import Workflowfrom bs4 import BeautifulSoupdef main(wf): #載入url讀取到的頁面元素 html = urllib2.urlopen(url="http://news.163.com/").read() #轉換為BeautifulSoup對象 bsObj = BeautifulSoup(html) #擷取頭條新聞所在的標籤內容 title_big_2_set = bsObj.find("div", {"class": "mod_top_news2"}).find_all("a") #遍曆頭條新聞內容 for i in title_big_2_set: #title:item的標題,當前為頭條新聞常值內容;arg:傳遞的參數,當前為頭條新聞內容的連結;valid:是否啟用下一個action,當前為True wf.add_item(title=i.get_text(),arg=i.attrs['href'],valid=True) wf.send_feedback()if __name__ == u"__main__": wf = Workflow() sys.exit(wf.run(main))
將Script Filter和Open URL串連
結尾 以前瀏覽新聞:移動滑鼠——開啟瀏覽器(滑鼠點擊一次)——開啟網易新聞(滑鼠點擊兩次)——瀏覽新聞(移動滑鼠)——開啟新聞內容(滑鼠點擊兩次)。 現在瀏覽新聞:快速鍵開啟Alfred(筆者是敲擊兩次command)——鍵入「news」——瀏覽新聞——斷行符號開啟新聞內容。
比起之前,在Alfred中瀏覽使得這件事更加輕鬆快速了許多。