顯示具有 QueryPath 標籤的文章。 顯示所有文章
顯示具有 QueryPath 標籤的文章。 顯示所有文章

2016年3月13日 星期日

網頁搜括小工具: 用 extract.php 擷取網頁當中的一小塊

用 php 的 querypath 或 javascript 的 jquery 可以擷取網頁的一小部分, 比方說部落格文章的正文部分。 但是每次都要寫一支用丟即棄的小程式也蠻沒效率的。 所以我寫了一支可以重複使用的小程式 extract.php, 以後只需要在命令列上用一個 css selector 語法就可以擷取網頁的一小塊了。 先前還沒有很好的 3G/4G 上網方案時, 我就是用這個工具下載一堆網頁以便離線瀏覽。 此外, 英文報讀軟體 coolreader 遇到太複雜的 html 檔也會掛掉, 所以就算數據上網不是問題, 這也很有幫助。 再比方說我 備份自己的部落格 (或別人的部落格也可以) 也是用這支小程式。

2014年8月27日 星期三

在 osmand 裡面管理我的最愛地點 (favorites/my places)

舊版 osmand 「我的最愛」 新版 osmand 「我的最愛」 (順便介紹如何將 google maps 所匯出的 kml 檔轉成 osmand 的 「我的最愛」。) 我經常北中南三地跑。 前一次打開 離線地圖 osmand 的時候, 可能是在臺中; 下一次打開卻是在高雄。 手動縮放地圖/手指旅行找到想看的地方, 這當然也可以當作一種具有地理學習意義的休閒娛樂啦; 不過更有效率的方式, 就是從選單找到 「我的最愛」 ("favorites") 功能, 再從地點條列清單裡面找到想去地點的附近, 直接叫 osmand 把地圖聚焦到那個位置。 ("show on map")

設定 「我的最愛」 有幾種方式。

2014年8月25日 星期一

OSM 混搭很簡單:製作你自己的分店/行事曆/造勢活動總覽/... 「網頁內嵌互動地圖」

用 OSM 做的 「全球機場位置及代號」 地圖 [2015/3/18: 改推薦 我的私房地圖, OSM 版, 直接滑鼠編輯, 連程式碼都不用寫!]

你的社群/公司/市政府/... 有沒有一些值得用互動地圖呈現的公開資料, 但是以前一直覺得程式設計門檻太高?

  1. 本連鎖店在哪些地方有分店?
  2. 本市各個腳踏車租借點還剩幾部車、 幾個空位?
  3. 哪位參選人或哪個政黨的所有候選人何時在哪裡有官方辦的或支持者辦的造勢活動?
  4. Cosplay 社群近期將在哪些地方舉辦活動?
  5. 全臺灣有哪些學校在電腦教室內安裝 linux?
  6. ...

2014年8月7日 星期四

line-singularize : 網頁內的指定清單/列表「單列化」以便利 regexp 後續加工

這一篇文章的主角其實並不是 regular expressions, 但是可能只有那些平時有在用 regexp 的朋友才會覺得有用。 面對大量的文字格式 (html/xml) 條列資料時, 經常只需要一個 perl 的 regexp 命令, 就可以把它捏成你要的格式 -- 例如把一個網頁裡面的條列資料變成可以匯入試算表或資料庫軟體的格式。 但是 regexp 處理資料時, 原則上 以列為單位 比較好處理。 (其實 perl 也有 -000 的選項可以處理 「以段為單位」 的資料, 不過還是比較麻煩。) 所以我用 php + querypath 寫了一支小程式 line-singularize 把 html/xml 當中的某些指定資料變成每筆一列, 以利後續餵給 perl -ne 或 perl -pe 處理。

2013年5月18日 星期六

用 QueryPath 半手工備份公開的噗浪河道

我習慣把噗浪當做自己的閱讀書籤, 然後把 所有的噗蒐集在一個頁面, 方便查詢。 噗浪官方是有提供備份功能沒錯, 但是速度超級慢、 疑似會遺漏、 而且一個月限制只能備份一次, 每次備份又必須從頭開始而不能指定從上次結束的地方開始。 這讓我一方面覺得很難用、 一方面也很不忍心經常折磨它。

於是我用 QueryPath 寫了兩支小程式, 以便半手工備份自己的噗浪河道... 詳見 plurk-list 官網

2013年4月5日 星期五

搜括網頁實戰入門: 用 firebug 跟 QueryPath (php 版的 jQuery) 學 DOM 跟 XPath

用 firebug 觀察 html 你會固定去某些部落格或新聞網站查看或下載文章/資料嗎? 希望把這些動作自動化 (省略手動點連結的動作) 批次化嗎? 或是你想寫一些小程式定期觀察某些網頁的某些欄位? 也許你需要學習 Document Object Model 跟 XPath? 總之, 如果你需要寫小程式抓取並分析網頁 (web scraping), 那就讓 firebug 跟 QueryPath (php 版的 jQuery) 來幫你吧。 本文介紹的是 2.1.2 3.0.5 版。 [2016/9/8 改用新版 QueryPath 重新檢查過本文。 2.1.2 版要這樣引用 require_once 'QueryPath/QueryPath.php'; 而 3.0.5 版要這樣引用 require_once 'QueryPath/qp.php'; 本文只介紹很基本的功能, 所以除了以上及安裝方式不同之外, 沒有其他大修改。 ]