This post is Private. Only a writer or those who know its URL can access this post.

Article information
Show article in Markdown
Report article
Help us understand the problem. What is going on with this article?

カクヤスAPIが欲しい人生だった

More than 1 year has passed since last update.

カクヤスAPIが欲しい人生だった

by kaibadash@github
1 / 26
  • これは shibuya.rb のネタLTの資料を otemachi.rb 向けに更新したものです
  • スライドモードで見ることを想定しています。

kaiba.inspect

  • twitter@kaiba
  • shibuya.rb, Tokyo Rubyist Meetup, よちよち.kotlin
  • 日本酒、ビールに異常な執着がある
  • Rails & iOS
  • とりあえずなんでもやってみる

:warning: あんまりな内容なのでスライドは非公開かも


:beers: ビールを飲みたい

  • 家で
  • ゆるい勉強会で
  • 第三のビール100円、生ビール150円くらい…

そこで酒のカクヤスアウトレットですよ

image.png


でもすぐ売り切れちゃうので公開されたら通知して欲しい


カクヤスAPIが欲しい人生だった…


そこでスクレイピングですよ

  • HTMLを無理やりプログラムで読んじゃうぞ!

みんなご存知Nokogiri


image.png


蛇足

  • looferというHTMLサニタイザーが依存している。
  • APIモードだといらない?
    • action viewをつかうのでいる
  • oga というスクレイピングgemがある。libxmlに依存していないのでインストールが楽、早い。

こんなかんじにスクレイピングできます

dom = parse(Nokogiri::HTML(open(OUTLET_URL, 
  'r:Shift_JIS').read))
outlets = dom.css('.itemListArea li')
outlets.each do |a|
  # ...
end

CSSセレクタで好きな要素を取ってこれる!


これ進研ゼミ(jQuery)でやったやつや!


Slackに通知できたよ〜 :relaxed:

image.png


めでたしめでたし

  • ありがとうございました!

ちょ、まてよ?!


抽象化すれば…?

dom = parse(Nokogiri::HTML(open("ここと").read))
res = dom.css("ここを")

  • 任意のURLの、任意の部分の変更を通知するウェブサービスはどうだろうか?
  • セレクタの知識は必要になるのが悩ましい…
  • 通知先をSlack、Desktop Notification、RSS、LINE、メールなんかに設定できるようにして…

あれ、でもこれ、なんか聞いたことがあるような…


「それPlaggerでできるよ」うな…? :thinking:


でも面白そうだから作ってみた

  • [Q] こういうのって公開してもいいのかな…?

スクショ

スクリーンショット 2018-01-30 20.25.10.png


スクショ

スクリーンショット 2018-01-30 20.24.17.png


Feedback

  • Kimonoというscapingサービスがあったがサービス終了
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした