この投稿はクローラー/スクレイピング Advent Calendar 2014の12月25日用です。 199X年。核戦争によって荒廃した時代に、ジャギという男がいた。 「おいお前、普段使っているシェルの名前を言ってみろぉ」 弟ケンシロウに成りすまし、そう言っては、“Bourne Shell”と答えない平民達を虐殺するという悪行を繰り返していた。弟の名に頼り、銃に頼り、人質に頼り、含み針に頼り、そしてガソリンという切り札に頼ったその男は、己の肉体のみで闘う弟によって、無様な最期を遂げた。 さて題名にもあるとおり、この記事は「POSIX原理主義」、つまりUNIX系OS最小インストール時に使えるコマンドだけでスクレイピングします。立派な言語やライブラリーがあったらスゴいスクレイピングができて当たり前。それだと道具がスゴいだけで、「自分はノーアイデアです」と言っているようなものです。 しかしながら
javascript でノードを拾うのCSSセレクタ(document.querySelector/querySelectorAll)だけなく、Xpathも使いたいよねってこと。DOM Level3も使えるし。 jQueryは使われすぎてバージョンHellで・・・ DOM の Evaluete/Xpath は今後はどうなるかわからないけど使えなくなるってのはなさそうだし 具体的サンプルの前に。 ブラウザでXpathを手軽に実行できる、document.evaluate 関数ですが、理屈が分からないと使いにくいので、document.xpathを紹介します。 document.evaluate でXPATH 実際にノードを探して使うサンプル document.evaluate('//input[@value="削除"]',document,null,XPathResult.ANY_TYPE,
I am getting Java exception like: java.net.MalformedURLException: no protocol My program is trying to parse an XML string by using: Document dom; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); dom = db.parse(xml); The XML string contains: String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+ " <s:Envelope xmlns:s=\"http://sche
どうもこんにちは、手書きXAML派、id:kaorunです。 このエントリーはXAML Advent Calendar 2013、2日目のエントリーです。 今回は、各種Web APIから取得したXML/JSONデータをサンプルデータとしてXAMLに差し込むおおまかな方法をご紹介します。 手書きXAML派でもデザイナーさんとは仲良くしたいよね、やっぱりきちんとリアルデータでプレビューしたいよね、と最近ちょっと研究していた点をまとめてみました。既に実践されてた方々には何をいまさらという話です。 一口にWeb APIといっても要求に対する応答形式は千差万別ですのでさくっとできるとは限りませんが、逆にXMLやJSONであればWeb APIでなくても通用する手法かと思います。 このエントリーは予備知識として、XAMLの基本的な文法、ListBoxのItemTemplateによるデザインやDataBi
iPhone では NSXMLDocument がシュミレータでは動作するが実機では動作しないそうなので、NSXMLParser を使用して解析してみました。 解析したのは下記のような XML です。 <?xml version="1.0" encoding="UTF-8"?> <users> <user name="hoge" age="20" /> <user name="fuga" age="30" /> </users> 実際に解析するコード static NSString *feedURLString = @"http://www.syuhari.jp/test/test.xml"; - (void)parserDidStartDocument:(NSXMLParser *)parser { // 解析開始時に実行する処理 } - (void)parseXMLFileAtURL:
iOS で使える XML パーサーは色々あります。 iOS 標準で使えるものは以下の2点 Cocoa Touch フレームワークで提供されている NSXMLParser C言語のライブラリである libxml2 を直接利用 外部のライブラリでは主に以下のようなものがあります。 GDataXML KissXML TBXML XML パーサーの中でも SAX と呼ばれる少し扱いにくいが比較的高速で省メモリなもの。DOM と呼ばれる扱いやすいがメモリを多く消費しやすいものがあります。 今回は Cocoa Touch フレームワークで提供されている NSXMLParser の使い方を紹介します。 NSXMLParser は SAX タイプのパーサーで C言語のライブラリである libxml2 をラップしたクラスになります。XML パースのおおまかな流れは、インスタンスを初期化 → デリゲートを設定
サイトを移行しました。 iPhoneアプリと、そのプログラム 第5回はiPhoneでXMLの解析をしてみたいと思います。 XMLの解析をするためには、XMLパーサが必要なのですが、 大きく分けて2種類のパーサが存在します。 それがDOM(Document Object Model)とSAX(Simple API for XML)です。 DOMでは、全てのXML情報を一度メモリに読み込み木構造に展開します。 それに対してSAXでは、シーケンシャルに情報を読み込んでいきます。 雰囲気的にはC言語でいうfgetsとgetcの違いみたいな感じです。 iPhoneではメモリの制約が厳しいため、DOMではメモリ不足が起こる可能性があります。 そこで、Cocoa標準のSAXパーサであるNSXMLParserクラスを使用します。 次に、RSSファイルのXMLの構造を見てみましょう。 itemタグで囲まれた
iOS でオブジェクトをシリアライズする方法に続き今回もデータ永続化方法の紹介です。 iOS にはプロパティリストと呼ばれるファイル形式があります。プロパティリストは NSArray や NSDictionary クラスを使って簡単にデータの読み書きができます。 ここではプロパティリストを使った基本的なデータの保存方法から自作クラスのオブジェクトを保存する方法まで説明します。 プロパティリストって何? プロパティリストは Mac OS X や iOS で利用することができるデータ永続化のためのファイル形式です。Mac OS X ではもっぱらユーザの情報を設定するのに使われる事が多く Windows のレジストリのような使われ方をしています。iOS では Info.plist のようにアプリの情報を設定するのに使われることが多いです。 またプロパティリストはファイルの拡張子が .plist
2011/11/14 OS XでJSONやXMLファイルを整形する方法 Mac OS XはJSONやXMLを読みやすく整形するツールがデフォルトで入っているそうだ[richardlog]。ペーストコマンド(pbpaste)を使うとコピペでも可能。 cat unformatted.json | python -m json.tool > formatted.json pbpaste | python -m json.tool > formatted.json pbpaste | xmllint --format - > formatted.xml メールで送信BlogThis!Twitter で共有するFacebook で共有する 投稿者 zubora 投稿時間 05:48 ラベル: Mac, Web 0 コメント: コメントを投稿
XML Tree - visualise and traverse your XML | jQuery Plugins Demo XMLを超見やすく折畳み表示できるjQueryプラグイン「XML Tree」。 APIなんかでXMLはよく使うようになりましたが、XML自体を次のように折畳み可能でスタイルされたインタフェースで見ることができるjQueryプラグインのご紹介です。 ブラウザベースの味気ないXMLビューワよりも見やすい場合がありそうです。 次が実装のためのコード。描画のコードが超簡単なのもいいですね。 関連エントリ 綺麗なツリービューが実装できるjQueryプラグイン「jsTree」 折り畳み可能なシンプルツリーメニュー実装jQueryプラグイン「Simple Tree Menu」 WindowsアプリのツリービューっぽいUIをWEB上で簡単実装できるjQueryプラグイン「jqu
Tim Bray氏のブログ記事を解説したものです。Tim Bray氏はXMLの生みの親であり、最近はGoogle Developer AdvocateとしてAndroidの普及に務めています。Twitterをはじめ、最近のWebサービスにて「twitter.com/#!/timbray」のようにURLに「#!」というhash-bang(shebang)が含まれるのをよく目にしますが、Tim氏はこの流行に批判の意を示しています。 hash-bangを含むURLはAjaxを利用するために考えられたしくみです。#以降は単なるフラグメントとして処理されるため、サーバは#より前のURLを解釈しコンテンツを出力します。そしてブラウザにてJavaScriptが#以降を解釈し、以降のパスに相当するコンテンツをAjaxにて取得しコンテンツを書き換えます。このしくみができた背景は、Ajax後のコンテンツをSE
Linq to XmlがあるならLinq to Htmlもあればいいのに!と思った皆様こんばんは。まあ、DOMでしょ?ツリーでしょ?XHTMLならそのままXDocument.Loadで行けるよね?XDocument.Parseで行けるよね? ええ、ええ、行けますとも。XHTMLなら、ね、ValidなXHTMLならね。世の中のXHTML詐称の99.99%がそのまま解析出来るわけがなく普通に落ちてくれるので、XDocumentにそのまま流しこむことは出来ないわけです(もちろん、うちのサイトも詐称ですよ!ていうかこのサイトのHTMLは酷すぎるのでそのうち何とかしたい……)。 そこでHtmlを整形してXmlに変換するツールの出番なわけですが、まず名前が上がるのがTidy、の.NET移植であるTidy.NETで、これは論外。とにかく面倒くさい上に、パースしきれてなくてXDocumentに流すと平然と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く