次にこれらの環境変数を使って要素の判定および通知を行います。実際のコードを見てみましょう。 HTMLを取得し、判定対象をチェックする ScrapeClient.scala package lambda import net.ruippeixotog.scalascraper.browser.JsoupBrowser import net.ruippeixotog.scalascraper.dsl.DSL._ import net.ruippeixotog.scalascraper.dsl.DSL.Extract._ import net.ruippeixotog.scalascraper.dsl.DSL.Parse._ import net.ruippeixotog.scalascraper.model._ class ScrapeClient { val url = sys.env("T
2011年も相変わらず「Scalaは実用的なのか?」という 「え、実用的も何も、普通に使ってますが、、、」としか答えられない質問を幾度も受けました。 Scalaは実用的で、例えばコミケのコスプレ画像の収集などができます。*1 【コミケ81】コスプレイヤー画像まとめ:1日目【C81】さとろぐ。 からjpg画像を一括ダウンロードし "data/(画像のURLの最後の/以下)"というファイル名で保存しようと思います。 ポイント dispatchでHTMLを取得する LiftのHTMLパーサでHTMLをxmlに変換する ScalaのXMLサポートでxmlを解析して画像のURLを抜き出す ExtractorでURLの分解 scala-ioを使ってファイルに保存 dispatchでHTMLを取得する 別にdispatchでなくてもscala標準のscala.io.sourceでもできるし、scalaj
はじめに ・JAVAは未経験 ・qiita初投稿 ・kotlinは本を1冊読んで手を動かして遊んだ程度 ・普段はPHPやrails ・理解度が浅いため、全体的にふんわりしています。ご指摘等頂ければ幸いです dockerで環境を作る。 まずはkotlinがコンパイル出来るよう、環境を作っていきます。 docker-hubのdockerfileをベースにしますが gradleが足りないので入れます(gradleについては後述) gradle公式dockerfileを参考にしました alpine-linuxは軽量なため、コマンドが最小限です。 curlなども入っていないので必要なものはapkで入れています。 FROM openjdk:8-jdk-alpine RUN apk update \ && apk upgrade \ && apk add coreutils curl ARG BUILD
package com.rikima.data.practice import org.jsoup.Jsoup /** * Created by mrikitoku on 2016/01/01. */ case class MetaInfo(url: String, title: String, keywords: String, description: String) object MetaInfoScrapeSample { def main(args:Array[String]): Unit = { val urls = Array( "http://www.orbis.co.jp/)", "http://b.hatena.ne.jp/", "http://www.sunmarie.com/" ) urls.foreach { case url => { val doc = Jso
ただの集団 Advent Calendar 2018 の1日目の記事。 はじめに パチンコ屋の出玉情報を公開するサイトは増えてきたが、情報は各ページに散っていて、WebAPIも提供されていないので、情報を集約して活用するにはクローリングを行う必要がある。 仕事ではScalaを勉強中なので、Scala + jsoupでPAPIMO-NETをクローリングするサンプルを実装する。 なぜjsoupか? Akka HTTP Client 本来はScalaらしくAkka HTTPを使用する予定だったが、単独ではスクレイピングに向かないので別途パーサーを使う手間を考慮してやめた。 scala-scraper Scala製で使いやすそうだが、しばらくメンテが行われていないように見受けられる。一般にScalaはJavaよりもバージョンアップにかかるコストが高く、メンテが定期的に行われていないライブラリは後の
scalaのスクレイピングライブラリを触って見たメモです。 バリデーション周りを中心に動かしてみました。 基本的な使い方は下部の参考記事が詳しいです。 scala-scraper https://github.com/ruippeixotog/scala-scraper#content-validation import net.ruippeixotog.scalascraper.browser._ import net.ruippeixotog.scalascraper.dsl.DSL._ import net.ruippeixotog.scalascraper.dsl.DSL.Extract._ import net.ruippeixotog.scalascraper.util.Validated._ object SampleApp { val content = """ <!DOC
これなに? 2016/11/16(水)開催のScala勉強会第185回 in 本郷の発表資料です。 Scala勉強会 in 本郷 とは 隔週水曜日に芸者東京エンターテインメント株式会社様(本郷)で開催されているScala勉強会 山形県酒田市でサテライト会場が開かれています Scala勉強会第185回 in 酒田サテライト 自己紹介 harry0000 http://qiita.com/harry0000 https://github.com/harry0000 艦これ 甲7提督 艦これアーケード 乙提督 敵泊地に突入せよ!! 乙作戦 4周 Scala歴は10ヵ月程度 @cakesolutionsにブロックされる程度のScala能力1 ※ 艦これ = 「艦隊これくしょん-艦これ-」。軍艦を擬人化したカードゲーム。 そうだ、スクレイピングしよう (動機) 艦これアーケード攻略Wikiの2つの表
独習 Scalaz これまでいくつのプログラミング言語が羊の衣を着た Lisp に喩えられただろうか? Java は馴染み親しんだ C++ のような文法に GC を持ち込んだ。それまで他にも GC を載せた言語はあったけども、現実的に C++ の代替となりうる言語に GC が載ったことは 1996年には画期的に思われた。やがて時は経ち、人々は自分でメモリ管理をしないことに慣れていった。JavaScript と Ruby の両言語もその第一級関数 (first-class function) やブロック構文を持つことから羊の衣を着た Lisp と呼ばれたことがある。S式の同図像性がマクロに適することから Lisp系の言語はまだ面白いと思う。 近年の言語はもう少し新しい関数型言語から概念を借りるようになってきた。型推論やパターンマッチングは ML にさかのぼることができると思う。時が経てば、人
何を使ったのかと言うと、crawler4j を使って、対象のサイトをかたっぱしから動き回る実装をしてみた。 github.com ただし、ディレイとか入れなくて DOS 攻撃になるんじゃねーかとか不安もあるので、応用するときは自己責任で。 ※ スレッド数指定でマジでサーバに負荷かけられてしまうのでマジ自己責任で 使い方は簡単で、libraryDependency に crawler4j を突っ込むところから始める。 libraryDependencies ++= Seq( "edu.uci.ics" % "crawler4j" % "4.1", // crawler "com.typesafe" % "config" % "1.3.0" ) そしたら、src/main/resources/application.conf ファイルを作成して、動作設定を記述する。 crawler { bas
追記: DHC REST Clientは名称がRestlet Clientに変わったようです。(以下、DHC REST Clientと記載している部分は読み替えてください) 昨今、アプリ間の連携のためにRESTでのAPIを公開することも多いと思います。 そのようなREST(やWebの)APIを開発する場合に、動作確認のためには、そのRESTのAPIを実行するためのクライアントが必要になります。 もちろん自前で作ることもできますが正直大変です。 こういう場合には、Chromeのアドオンとして提供されているDHCがとても便利です。 DHC REST Client(DHC)は、その名の通りRESTを実行するためのクライアントのツールです。 インストールから起動まで 導入手順は一般的なChromeのアドオンと同じです 先に示したDHCのページにアクセスして「CHROMEに追加」をクリックします 以
私が、Javaの有用そうだったり流行ってそうなライブラリをGitHubで探す時の手順です。 (完全に個人的なやり方です) ■Trendingを確認する Trending Java repositories を確認します。 ページにアクセスすると、以下のような内容が表示されます。ここに新しく表示されたりしたものが無いかをチェックしています。 ■Awesome Javaを確認する Awesome Javaを確認して、新しいライブラリの情報が追加されていないかをチェックしています ページにアクセスすると、以下のような内容が表示されます ■Starが多いポジトリを検索する GitHub内のSearch用テキストボックスに以下のような条件を入れて検索します 例1 Starが1000より多く付いていて、対象言語はJava stars:>1000 language:java 例2 Starが500より多
元記事: Awesome Java Awesome List in Qiita Awesome Ruby Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium Bean マッピング Bean マッピングを容易にするフレームワーク dOOv - 型安全なドメインモデルの検証とマッピングのための API を提供します. アノテーション, コード生成, および型安全 DSL を使用して, Bean の検証とマッピングを迅速かつ簡単にします. Dozer - アノテーション, API または XML 設定を使用して, あるオブジェクトから別のオブジェクトへデータをコピーするマッパー. JMapper - 高速コードマッピングのためにバイトコード操作を使用. アノテーシ
... ;; List of configuration layers to load. dotspacemacs-configuration-layers '( ;; ---------------------------------------------------------------- ;; Example of useful layers you may want to use right away. ;; Uncomment some layer names and press `SPC f e R' (Vim style) or ;; `M-m f e R' (Emacs style) to install them. ;; ---------------------------------------------------------------- ... my-la
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く