2013年8月14日 星期三

看著海寫程式會不會太宅點? - PinterestRSSAggregator


陽光....跟沙灘呀......真是好風景呀....躺著寫程式真不錯 (其實在顧包包)

昨天上飛機前, 把這兩天晚上寫的東西, PinterestRSSAggregator, 在上飛機之前放上了github....趁現在來補一些內容

會寫這東西的緣起在於這篇: http://nickinglis.com/index.php/blog/item/how-to-get-your-pinterest-rss-feed

Pinterest目前沒API, 這RSS也只能取得一個人最近的資訊, 但常常我們要看的不會是自己去pin的, 而是自己所follow的人pin的最新資訊, 所以這樣的RSS用處就嫌少了點, 所以想說如果可以把自己所follow的全部集結成一個rss應該會很不錯, 因此就寫了這些東西

一開始碰到的問題點是, 沒API, 怎抓following的資訊? 從 http://pinterest.com/xxxx/following的網頁去解析, 似乎每個被follow的人的link都有userWrapper這class, 這或許是個出發點, 所以第一個版本做了一個直接去抓網頁回來解析抓出含有這class的連結....但是...失敗了...因為抓回來的靜態網頁, 最多只有十二個人的連結, 超過就抓不到, 網頁上要滑鼠捲到最下面才會再load出其他的

後來想到的方法就是利用CasperJS, 模擬捲頁捲到最後的行為, 再把所有followings都抓回來....喔耶....這招居然行的通....把所有rss 的url再用Google Feed API去抓內容(我懶得parse RSS了), 再用feed這module生成新的RSS....大功告成....接下來只要讓他固定一段時間跑一次, 就有一個土炮的Pinterest API用了... (還真heavy的API :( )

還要感謝一下同事 +kenshinn huang .....因為都是拿他帳號來作測試的.. XD