2015-05-09

安裝 Python 畫圖的套件


在看教學影片的時候,要我輸入「%pylab inline」,據說之後能用來畫圖。發現輸入句子出現錯誤後,就跑去安裝套件,結果不管我輸入「easy_install」或是「pip pylab」都沒有用。後來才發現要分開裝三個套件,那為什麼要摻在一起叫撒尿牛丸呢?

pylab 是三種套件的合體



 參考文章



改變 jupyter(ipython book)的當前目錄



Jupyter 這個編輯器我是在 2014.05.08 接觸到的。剛進入編輯界面時覺得很清爽,但隨即發現一個問題:根目錄的檔案,好多啊!之後發現,原來根目錄是在 C:\Users\Chu 之下。真是奇怪的位置,也只能將就著用。今天一開,沒想到根目錄竟然換了!?這樣我以後不就每開一次,它就給我換一次根目錄?只好再求助 Google 大神(不敢想像以前網路資訊不發達的時候,該怎麼解決類似的問題 ...)

問題發生的原因,似乎是因為「當下的根目錄,就是一開始執行命令時所在的目錄」。痾,雖然我看得懂,可是我根本不知道我是在哪裡執行命令的啊(orz)。最後還是找到解決方法了。以下說明其中一個解決方法的步驟以及展示程式碼(因為其他的我看不懂 XD)

程式碼
set "var=%cd%"
cd var
ipython notebook
步驟
  1. 將程式碼存成 bat 格式
  2. 將此檔案拉至往後想存檔的路徑下
  3. 在此路徑下打開它
備註:我事後有拉捷徑到桌面上,這樣往後操作應該會比較方便


參考文章

用 Python 抓 Facebook 上的資料


終於進展到我需要的部份了(灑花)



相關網站:Graph API Explorer(連結

程式碼(喜愛的運動員名字)
import  requests
import  json
token = '<自己到 graph api explorer 找,或是透過授權取得(吧)>'
res = requests.get('https://graph.facebook.com/v2.3/me?access_token=%s'%(token))
jsondata = json.loads(res.text)
for athletes in jsondata['favorite_athletes']:
        print athletes['name']

結果


使用 BeautifulSoup 抓取網頁中的特定內容



程式碼
from bs4 import BeautifulSoup
html_sample = ' '
soup = BeautifulSoup(html_sample)
print soup.text
注意使用

  • 「html_sample = ' '」可以透過抓取網頁網址獲得
  • 「print soup.text」可以變形成
    • print soup.contents
    • print soup.select('html')[0]
      • print soup.select('a')[0]
      • print soup.select('#title')
      • print soup.select('.class')



request 與 BeautifulSoup 綜合使用


乾,InfoLite 附加元件要去哪邊找啊 orz

程式碼
import requests
from bs4 import BeautifulSoup
res = requests.get("http://tw.taobao.com/product/%E5%A4%9A%E6%A8%A3%E5%B1%8B-%E8%91%AB%E8%98%86-%E4%BF%9D%E6%BA%AB%E6%9D%AF.htm"
                  )
soup = BeautifulSoup(res.text)
for item in soup.select(' .item'):
        print item.select('strong')[0].text, item.select(' .title')[0].text.strip(), item.select(' .J_NickPopup')[0].text
結果


GET 與 POST

GET






練習網頁:淘寶的保溫杯頁面(連結

程式碼
import requests
res = requests.get("<網址>")
print res.text
結果




POST





練習網頁:高鐵的訂票查詢頁面(連結

程式碼
import requests
payload = {
'StartStation' : '977abb69-413a-4ccf-a109-0272c24fd490',
'EndStation': 'fbd828d8-b1da-4b06-a3bd-680cdca4d2cd',
'SearchDate':'2015/05/09',
'SearchTime':'06:00',
'SearchWay':'DepartureInMandarin'
}
res = requests.post("http://www.thsrc.com.tw/tw/TimeTable/SearchResult", data = payload)
print res.text
結果

準備開始用 Python 寫網路爬蟲~的前置作業了 ...



吃掉前言(詳情

寫網路爬蟲前,需要安裝兩個套件

  • Requests:網路資源(URLs)擷取套件 
  • BeautifulSoup4:HTML剖析套件

安裝流程
  1. 安裝 requests
    1. pip install requests
  2. 安裝 BeautifulSoup4
    1. pip install BeautifulSoup4
  3. 檢查能不能使用
    1. phthon
    2. import reauests
    3. form bs4 import BeautifulSoup

2015-05-08

安裝 python 的好用編輯軟體 - jupyter



因為在查找如何使用 Facebook API 獲得臉書資料的過程中(詳情),發現程式能力好像也不可缺少的一環,就開始到處隨便查詢相關資料。後來在「大數學堂」這個網站看到了「網路爬蟲實戰教學」課程,覺得滿有趣的,就開始一連串的看不懂學習旅程。現在要記錄的就是如何安裝 jupyter 這個服務。

Python 是我之前一直想要學的程式語言。聽說他很好學與語句編排合理、語法相當的簡潔,入門新手相當適合。總之,我現在試圖喚醒沉睡已久的蟒蛇,看牠將來能不能把臉書上的 data 給咬下來。而 jupyter 算是能夠編輯 Python 的編輯器(也能說是 notebook?隨便啦)。前幾天我在 LargitData 詢問這方面訊息時,該粉絲團小編很快就錄製影片並給答覆了,效率真高(good)。以下是教學影片


雖然我很感謝有影片可以參考 ... 但我發現,我還是不會安裝(orz),只好再度求救 Google 大神,尋找安裝流程。以下是我整理出來的安裝流程

  1. 安裝 Python(之前我安裝過了,所以跳過)
  2. 安裝 Pip(Pip 是 Python 的套件管理程式。簡介、流程連結
    1. 根據 Python 環境安裝 setuptools(連結Win 的 python2.7
    2. 增加環境變數路徑
      • ;C:\Python27\Scripts
    3. 透過文字終端機安裝 pip
      • easy_install pip
  3. 安裝 Jupyter
    1. 透過文字終端機安裝
      • pip install "ipython[notebook]"
    2. 打開 Jupyter,使用瀏覽器當作界面
      • ipython notebook

最後成果大概是這樣


好處麻 ... 感覺能在界面上一次記錄許多程式碼段落、以及輸出,滿方便的(完)


2015-05-07

該怎麼從臉書撈資料來玩勒 - 談 Graph API(待增)

最近修了「認知專題:應用認知心理學」這門課,有幾周的主題在談以網路資料來做資料分析的研究。一篇在談twitter喜怒訊息與心臟病的相關性、一篇在談(我忘記了)。之後老師請我們想一些使用臉書資料能做的研究、以及查找該怎麼抓取資料。

如果真的能用來做研究的話,應該滿有趣的。但問題是
  1. 程式開發能力薄弱啊
  2. API改版後,隱私保護層級更高了
總之,我對現在我們能做這類研究的可能性滿悲觀的。還是先把找到的東西記錄一下好了



臨時抱佛腳的努力過程

  • 先來個舒適的編程界面 - jupyter(連結
  • 寫網路爬蟲的前置作業:安裝 requests 與 BeautifulSoap(連結
  • Requests 的 GET 與 POST(連結
  • BeautifulSoap 的使用、與 Requests 的綜合應用(連結
  • 使用 Python、Graph API 抓取臉書資料連結)(終於有進展了,灑花)




好處
  • 剛開始 Graph API 登場時,大家對他的看法(連結

限制:Graph API 升級成 2.0 後,存取使用者的權限變嚴格了
  • 談 Graph API(連結
  • 抱怨不升級的話,怎麼死的都不知道(連結
  • 一位馬來西亞的使用者談 Graph API 2.0(連結
  • 談 Facebook Platform 版本變革(連結

API應用
  • 打卡時會在地球上顯示地點的專案開發過程(連結
  • 聊天室的對話數量(連結
  • 誰最愛回應你、最會按你讚(連結,好像掛掉了)
  • 誰最關心你(連結
  • 看粉絲團按讚、留言、分享名單(連結
  • 在 Arduino 上顯示粉絲團按讚人數(連結
  • 在Unity上獲得個人頭貼(連結
如何使用 API
  • 快速使用的 Explorer(連結
  • 參數說明(連結,可是是2012年的)
  • 看不懂的範例(連結
建立應用程式
  • 好幾年前的建立教學(連結
  • IOS App的寫法(連結
沒頭緒時找一下網路爬蟲
  • 知乎上的 Python 爬蟲討論(連結
  • 爬蟲影片教學(連結
之前對 API 的整理:連結