文系プログラマによるTIPSブログスマートフォン用の表示で見る文系プログラマによるTIPSブログ文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。文系プログラマによるTIPSブログ以前こんな記事を書きました。この時は物理的に可能だ、という話で終わってしまったので、今回は実際にやってみました。Centerはてなブログの所有者であるhttpリクエストして、basic認証を突破できて、POJOにバインドするライブラリ等(google-http-java-client)はてなブログのエントリー一覧を取得するためのはてなブログAtomPubですが、これははてなブログの所有者に与えられる、AtomPubのAPIキーが必要になります。AtomPub→APIキーから確認できます。これはつまり他人のエントリは取得できないことを意味します。このAPIは編集もできるので、他人が触れたらエントリを書き換えたり削除できたりしてしまいますね。サンプルソース結構沢山書くので、頑張っていきましょう!サンプルはjavaですが、他の言語でも実装できます。pom.xmlまずは必要なライブラリです。以下を追加しましょう。parseType);}ParseType.java後述するGenericParser.javaで指定する、パースの種別定数クラスです。text}HatebuAtomPub.javaはてなブログAtomPubの結果をバインドするクラスです。はてなブログAtomPubのレスポンスオブジェクトです。}}HatebuEntry.javaはてなブックマークエントリー情報取得APIの結果をバインドするクラスです。はてなブックマークエントリー情報取得APIのレスポンスオブジェクトです。url;}AbstractParser.javaこのクラスはパラメータを調整するための抽象クラスです。}}GenericParser.javaこのクラスはgoogle-http-java-clientでhttpリクエストし、レスポンスであるjson・xmlを指定したクラスにバインドするためのクラスです。}}HatenaBlogClient.javaこのクラスははてブのエントリ一覧を取得し、各エントリのURLをキーにはてブ詳細を取得するためのクラスです。このクラスのmainメソッドを実行する事で処理を実行できます。はてなブログAtomPubはレスポンスがxmlで、はてなブックマークエントリー情報取得APIのレスポンスはjsonです。google-http-java-clientを使うと、jsonとxmlのバインドがほぼ同じコードで書くことができます。AtomPubのpageパラメータの値についてpageパラメータですが、なんと1,2,3,といった連番ではないのです。この規則性不明なpageパラメータを指定しないと次のページにいけないので、取得する方法を知る必要があります。pageは、AtomPubの以下の部分から取得する事ができます。/>ここから取得できます。最終ページにはnext属性が無い最終ページかどうかは前述の1行が無い事がサインとなります。apiは1秒1リクエストが制限となる場合が多いので、今回1リクエストに付き1秒のインターバルを挟んでいます。雑感このコードを使う事で、はてブ詳細だけでなく、記事の編集も行えます。ブログのテーマを変えて、全記事のcssのセレクタやタグの置換を行いたい場合にも使えます。週間)昔は業務系SIer、今はベンチャー企業でプログラムを書いています。INFILEを実行できるようにするmacのAutomatorでhomebrewのコマンドをFinderのサービスから実行できるようにするReactオススメ書籍React自体の基礎、AtomicDesignの適用、CSSの運用手法の歴史的な経緯とメリットデメリット、Reduxの基礎、redux-sagaによる非同期処理、サーバサイドレンダリング、テスト、lint、を学ぶ事ができます。単行本(ソフトカバー)この商品を含むブログを見るAngularオススメ書籍Angularを学ぶなら絶対以下がおすすめです!バインディング、ディレクティブ、パイプ、フォーム、コンポーネント、サービス、ルーティング、httpClientによる非同期httpリクエスト、テスト、angular-cli、を非常に丁寧な説明で網羅的に解説しています。大型本この商品を含むブログを見るSEOオススメ書籍SEOを学ぶなら絶対以下がおすすめです!クローラに対して何をどうすればサイトの巡回効率・速度を上げる事ができるのか、どういったマークアップをする事が標準仕様なのか。巷に溢れる業者による経験則に基づくオレオレSEO情報は一切無く、全てGoogle等のオフィシャルな情報に基づいて何をすべきか、どんな手段があるのかを解説されています。プログラマな私が業務で行った施策が多く書かれており、プログラマ寄りで高度な内容となっており、巷のビギナー向けの曖昧な情報集とは一線を画しています。Amazonアソシエイト・プログラムの参加者です。reserved.スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。