{"id":2176,"date":"2016-03-05T17:52:08","date_gmt":"2016-03-05T08:52:08","guid":{"rendered":"http:\/\/daily.belltail.jp\/?p=2176"},"modified":"2016-08-19T17:59:23","modified_gmt":"2016-08-19T08:59:23","slug":"poltergeist%e3%81%aeurl-blacklistingwhitelisting%e3%82%92%e6%b4%bb%e7%94%a8%e3%81%97%e3%81%a6ajax%e3%82%b9%e3%82%af%e3%83%ac%e3%82%a4%e3%83%94%e3%83%b3%e3%82%b0%e3%82%92%e9%80%9f%e3%81%8f%e3%81%99","status":"publish","type":"post","link":"https:\/\/daily.belltail.jp\/?p=2176","title":{"rendered":"Poltergeist\u306eURL Blacklisting\/Whitelisting\u3092\u6d3b\u7528\u3057\u3066Ajax\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3092\u901f\u304f\u3059\u308b"},"content":{"rendered":"<p>\u3088\u304f\u304a\u9b5a\u306e\u300c\u8102\u306e\u306e\u308a\u304c\u826f\u3044\u300d\u3068\u3044\u3044\u307e\u3059\u304c\u3001\u5b9f\u969b\u4f8b\u3048\u3070\u4f53\u8102\u80aa\u7387\u3068\u3044\u3046\u5f62\u3067\u8a08\u6e2c\u3059\u308b\u3068\u3069\u3046\u306a\u308b\u306e\u3067\u3057\u3087\u3046\u304b\u3002\u5b9f\u306f\u305d\u308c\u3092\u6e2c\u5b9a\u3059\u308b\u305f\u3081\u306b[http:\/\/www.yamato-scale.co.jp\/products\/detail\/id:294:title=\u30d5\u30a3\u30c3\u30b7\u30e5\u30a2\u30ca\u30e9\u30a4\u30b6\u2122]\u3068\u3044\u3046\u88fd\u54c1\u304c\u3042\u308a\u3001\u4eba\u9593\u7528\u306e\u4f53\u8102\u80aa\u7387\u8a08\u3068\u540c\u3058\u4ed5\u7d44\u307f\u3067\u975e\u4fb5\u8972\u7684\u306a\u8a08\u6e2c\u304c\u53ef\u80fd\u306a\u3093\u3060\u305d\u3046\u3067\u3059\u3002\u30a2\u30b8\u306a\u3069\u3067\u306f10%\u3068\u304b\u3044\u3046\u30aa\u30fc\u30c0\u30fc\u306e\u6570\u5b57\u3068\u306e\u3053\u3068\u3067\u3001\u610f\u5916\u3068\u30b9\u30ea\u30e0\u3002<\/p>\n<p>\u3055\u3066\u3001Ruby\u3092\u4f7f\u3063\u3066Web\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3092\u3059\u308b\u3068\u304d\u306f\u3001\u500b\u4eba\u7684\u306b\u306f[http:\/\/www.nokogiri.org\/:title=Nokogiri]\u3092\u3088\u304f\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002<br \/>\n\u901a\u5e38\u306fNet::HTTP\u3067\u3068\u3063\u3066\u304d\u305fHTML\u3092\u305d\u306e\u307e\u307eNokogiri\u306b\u3076\u3061\u8fbc\u3081\u3070OK\u306a\u306e\u3067\u3059\u304c\u3001\u975e\u540c\u671f\u3067\u306e\u63cf\u753b\u3092\u884c\u3046Ajax\u306e\u30b5\u30a4\u30c8\u306e\u89e3\u6790\u306f\u305d\u306e\u307e\u307e\u3067\u306f\u3067\u304d\u307e\u305b\u3093\u3002<br \/>\n\u305d\u3053\u3067\u3001[http:\/\/phantomjs.org\/:title=PhantomJS]\u306eRuby\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u3067\u3042\u308b[https:\/\/github.com\/teampoltergeist\/poltergeist:title=Poltergeist]\u3092\u30c9\u30e9\u30a4\u30d0\u3068\u3057\u3066[https:\/\/github.com\/jnicklas\/capybara:title=Capybara]\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3068\u3001\u6df1\u304f\u8003\u3048\u308b\u3053\u3068\u306a\u304f\u9759\u7684\u30da\u30fc\u30b8\u3068\u540c\u3058\u611f\u899a\u3067\u89e3\u6790\u304c\u3067\u304d\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u8981\u306f\u3001\u898b\u3048\u306a\u3044\u3068\u3053\u308d\u3067\u307e\u308b\u3063\u3068\u30d6\u30e9\u30a6\u30b6\u3092\u52d5\u304b\u3057\u3066\u3057\u307e\u3063\u3066\u3001DOM\u304b\u3089\u4eee\u60f3\u7684\u306aHTML\u3092\u751f\u6210\u3055\u305b\u3061\u3083\u3063\u3066Nokogiri\u306b\u3076\u3061\u8fbc\u3080\u2026\u3068\u3044\u3046\u3088\u3046\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u3059\u3002<\/p>\n<pre class=\"brush: ruby; title: ; notranslate\" title=\"\">\r\nrequire 'nokogiri'\r\nrequire 'capybara'\r\nrequire 'capybara\/poltergeist'\r\n\r\ndef wait_for_ajax(session)\r\n  # https:\/\/robots.thoughtbot.com\/automatically-wait-for-ajax-with-capybara\r\n  Timeout.timeout(Capybara.default_wait_time) do\r\n    return if session.evaluate_script('jQuery.active').blank?\r\n    loop until session.evaluate_script('jQuery.active').zero?\r\n  end\r\nend\r\n\r\ndef access(url)\r\n  Capybara.register_driver(:poltergeist) do |app|\r\n    Capybara::Poltergeist::Driver.new(app, {\r\n      js_errors: false  #JS\u306b\u554f\u984c\u304c\u3042\u3063\u305f\u3068\u304d\u4f8b\u5916\u3092\u5410\u304b\u305b\u306a\u3044\u3002\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u306e\u969b\u306f\u5e38\u306bfalse\u304c\u3044\u3044\u3067\u3059\u3002\r\n    })\r\n  end\r\n  s = Capybara::Session.new(:poltergeist)\r\n  s.visit(url)\r\n  wait_for_ajax(s)\r\n  s\r\nend\r\n\r\ndef get_html(url)\r\n  s = access(url)\r\n  html = s.html\r\n  s.reset!\r\n  s.driver.quit\r\n  html\r\nend\r\n\r\n#\u3042\u3068\u306f\u666e\u901a\u306bNokogiri\u306b\u3076\u3063\u3053\u3093\u3067\u30b4\u30ea\u30b4\u30ea\u3084\u3063\u3066\u304f\u3060\u3051\uff01\r\npage = Nokogiri::HTML.parse(get_html(url))\r\npage.css('body')\r\n<\/pre>\n<p>\u3061\u306a\u307f\u306b\u3001Capybara::Session\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\uff08access\u30e1\u30bd\u30c3\u30c9\u306e\u623b\u308a\u5024\uff09\u306b\u5bfe\u3057\u3066\u3001\u3061\u3087\u3046\u3069feature spec\u3067\u66f8\u304f\u3088\u3046\u306a\u30de\u30c3\u30c1\u30e3\u3092\u4f7f\u3063\u3066\u30da\u30fc\u30b8\u306b\u5bfe\u3059\u308b\u64cd\u4f5c\u304c\u3067\u304d\u308b\u306e\u3067\u3001\u4f8b\u3048\u3070\u300c\u3053\u3053\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u51fa\u3066\u304f\u308b\u60c5\u5831\u3092\u89e3\u6790\u3057\u305f\u3044\u300d\u3068\u3044\u3046\u4f5c\u696d\u3082\u7c21\u5358\u306b\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"brush: ruby; title: ; notranslate\" title=\"\">\r\ns = access(url)\r\ns.click('Submit')\r\ns.find('.text')  #find\u3092\u547c\u3076\u3068\u30de\u30c3\u30c1\u3059\u308b\u8981\u7d20\u304c\u73fe\u308c\u308b\u307e\u3067\u518d\u63cf\u753b\u3092(\u30c7\u30d5\u30a9\u30eb\u30c8\u30672\u79d2\u9593)\u5f85\u3063\u3066\u304f\u308c\u307e\u3059\u3002\r\ns.html #\u3053\u308c\u3092Nokogiri\u306b\u3076\u3061\u8fbc\u3081\u3070OK\r\n<\/pre>\n<p>\u5f8c\u308d\u3067\u30d6\u30e9\u30a6\u30b6\u304c\u307e\u308b\u3054\u3068\u52d5\u3044\u3066\u3044\u308b\u3053\u3068\u306e\u5f0a\u5bb3\u3068\u8a00\u3063\u3066\u306f\u3042\u308c\u3067\u3059\u304c\u3001\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u306b\u3042\u305f\u3063\u3066\u306f\u5fc5\u8981\u3067\u306f\u306a\u3044\u60c5\u5831\u3082\u975e\u540c\u671f\u3067\u30b4\u30ea\u30b4\u30ea\u53d6\u3063\u3066\u304f\u308b\u3053\u3068\u306b\u306a\u308a\u3001\u8ca0\u8377\u3084\u6642\u9593\u306a\u3069\u304c\u5897\u5927\u3057\u307e\u3059\u3002<br \/>\n\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u305d\u3046\u3044\u3063\u305f\u5fc5\u8981\u3067\u306a\u3044\u60c5\u5831\u306f\u53d6\u3063\u3066\u3053\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u5c11\u3057\u3067\u3082\u6642\u9593\u3068\u76f8\u624b\u30b5\u30fc\u30d0\u306e\u8ca0\u8377\u3092\u4f4e\u6e1b\u3059\u308b\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3002<\/p>\n<p><!--more--><\/p>\n<p>** Blacklisting<\/p>\n<p>\u666e\u901a\u306bNet::HTTP\u3067\u30da\u30fc\u30b8\u3092\u5358\u4f53\u3067\u53d6\u3063\u3066\u304f\u308b\u306e\u3068\u7570\u306a\u308a\u3001PhantomJS\u306e\u4e2d\u3067WebKit\u3055\u3093(QtWebKit\u3055\u3093)\u304c\u5b8c\u5168\u306b\u30da\u30fc\u30b8\u3092\u63cf\u753b\u3057\u3066\u3044\u3066\u3001\u753b\u50cf\u304b\u3089CSS\u304b\u3089JS\u304b\u3089\u3001\u540c\u671f\u975e\u540c\u671f\u306b\u304b\u304b\u308f\u3089\u305a\u5168\u3066\u306e\u60c5\u5831\u3092\u3068\u3063\u3066\u304f\u308b\u305f\u3081\u3001\u6642\u9593\u3084\u8a08\u7b97\u8ca0\u8377\u306f\u99ac\u9e7f\u306b\u306a\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u7279\u306b\u3001Google AdWords\u3084Facebook Widget\u306a\u3069\u3001\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3059\u308b\u306b\u3042\u305f\u3063\u3066\u306f\u6d3b\u7528\u3067\u304d\u306a\u3044\u60c5\u5831\u306a\u3069\u3082\u53d6\u308a\u306b\u884c\u304f\u306e\u3067\u3001\u3053\u308c\u3089\u306f\u53d6\u3063\u3066\u3053\u306a\u3044\u3088\u3046\u306b\u3057\u305f\u3044\u3067\u3059\u3002<\/p>\n<p>\u305d\u306e\u305f\u3081\u306b\u3001Poltergeist\u306fURL\u306b\u57fa\u3065\u304fBlacklist\u3092\u6307\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002<br \/>\n\u3053\u308c\u3067\u3001\u63cf\u753b\u306b\u3042\u305f\u3063\u3066\u6307\u5b9a\u3057\u305fURL\u306b\u30de\u30c3\u30c1\u3059\u308b\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u9001\u3089\u308c\u305a\u3001\u63cf\u753b\u5b8c\u4e86\u307e\u3067\u306e\u6642\u9593\u304c\u5927\u5e45\u306b\u6539\u5584\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: ruby; title: ; notranslate\" title=\"\">\r\n...\r\ns = Capybara::Session.new(:poltergeist)\r\ns.driver.browser.url_blacklist = %w&#x5B;www.facebook.com]\r\ns.visit(url)\r\n...\r\n<\/pre>\n<p>** Whitelisting<\/p>\n<p>\u3055\u3089\u306b\u30012015\u5e74\u672b\u3001\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u65b9\u5f0f\u3067URL\u3092\u5236\u9650\u3067\u304d\u308b\u6a5f\u80fd\u304cPoltergeist\u306b\u53d6\u308a\u8fbc\u307e\u308c\u307e\u3057\u305f\u3002<br \/>\n[https:\/\/github.com\/teampoltergeist\/poltergeist\/pull\/701]<br \/>\n\u300c\u3069\u306eURL\u3092\u5f3e\u304f\u304b\u300d\u3092\uff08\u5b9f\u969b\u306e\u30a2\u30af\u30bb\u30b9\u3092\u898b\u306a\u304c\u3089\uff09\u4e00\u3064\u4e00\u3064\u898b\u3064\u3051\u3066\u306f\u6307\u5b9a\u3057\u3066\u3044\u304f\u3088\u308a\u3082\u3001\u300c\u72d9\u3063\u305f\u30b5\u30a4\u30c8\u4ee5\u5916\u3078\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u5168\u90e8\u5f3e\u304f\u300d\u3068\u3067\u304d\u308b\u306e\u3067\u3001\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3067\u306f\u3068\u3066\u3082\u52a9\u304b\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: ruby; title: ; notranslate\" title=\"\">\r\n...\r\ns = Capybara::Session.new(:poltergeist)\r\ns.driver.browser.url_whitelist = %w&#x5B;www.jleague.jp]\r\ns.visit(url)\r\n...\r\n&#x5B;ruby]\r\n\r\n\u3082\u3061\u308d\u3093\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u3060\u3051\u3067\u5bfe\u5fdc\u3067\u304d\u306a\u3044\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u3002\r\n\u5fc5\u8981\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u3084JS\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u304c\u30b5\u30a4\u30c8\u5916\u306b\u7f6e\u304b\u308c\u3066\u3044\u3066\u3001\u305d\u308c\u3089\u3092\u3044\u3061\u3044\u3061\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3059\u308b\u3088\u308a\u5f3e\u304d\u305f\u3044\u30a2\u30af\u30bb\u30b9\u3092\u30d6\u30e9\u30c3\u30af\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3057\u3066\u304a\u304f\u307b\u3046\u304c\u30e9\u30af\u2026\u3068\u304b\u3042\u308a\u307e\u3059\u3002\r\n\u5834\u5408\u306b\u3088\u308a\u3051\u308a\u3002\r\n\r\n** \u753b\u50cf\u3092\u30ed\u30fc\u30c9\u3057\u306a\u3044\r\n\r\n\u3064\u3044\u3067\u306b\u3001PhantomJS\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3068\u3057\u3066\u3001\u753b\u50cf\u3092\u5b9f\u969b\u306b\u306f\u8aad\u307f\u8fbc\u307e\u306a\u3044\u3068\u3044\u3046\u6307\u5b9a\u304c\u53ef\u80fd\u3067\u3001\u3053\u308c\u3082\u6642\u9593\u306e\u6539\u5584\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002\r\n\r\n&#x5B;ruby]\r\nCapybara.register_driver(:poltergeist) do |app|\r\n  Capybara::Poltergeist::Driver.new(app, {\r\n    js_errors: false,\r\n    phantomjs_options: &#x5B;&quot;--load-images=no&quot;]\r\n  })\r\nend\r\n<\/pre>\n<p>** \u30d9\u30f3\u30c1\u30de\u30fc\u30af<\/p>\n<p>Ajax\u30b4\u30ea\u30b4\u30ea\u306e\u30b5\u30a4\u30c8\u3067\u3042\u308bJ\u30ea\u30fc\u30b0\u516c\u5f0f\u30b5\u30a4\u30c8[http:\/\/www.jleague.jp\/match\/j1\/2016\/022801\/live\/]\u306e\u63cf\u753b\u5b8c\u4e86\u307e\u3067\u306e\u6642\u9593\u309210\u56de\u5e73\u5747\u3067\u6c42\u3081\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\n\u3053\u306e\u30b5\u30a4\u30c8\u306f\u975e\u540c\u671f\u63cf\u753b\u306e\u969b\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u306f\u5168\u3066www.jleague.jp\u304b\u3089\u3068\u3063\u3066\u304d\u3066\u304a\u308a\u3001\u305d\u308c\u3068\u5225\u306bfacebook\u3084google\u304b\u3089\u60c5\u5831\u3092\u3068\u3063\u3066\u304d\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u305d\u308c\u305e\u308c\u3092\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u30fb\u30d6\u30e9\u30c3\u30af\u30ea\u30b9\u30c8\u3068\u3057\u3066\u5404\u7d44\u307f\u5408\u308f\u305b\u3067\u8a08\u6e2c\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>|*\u753b\u50cf\u7121\u8996 |*Blacklisting |*Whitelisting |*\u5e73\u5747\u63cf\u753b\u6642\u9593 |<br \/>\n| \u2013 | \u2013 | \u2013 | 5.46\u79d2 |<br \/>\n| \u2013 | \u25cb | \u2013 | 4.54\u79d2 |<br \/>\n| \u2013 | \u2013 | \u25cb | 3.51\u79d2 |<br \/>\n| \u25cb | \u2013 | \u2013 | 2.67\u79d2 |<br \/>\n| \u25cb | \u25cb | \u2013 | 2.55\u79d2 |<br \/>\n| \u25cb | \u2013 | \u25cb | 1.18\u79d2 |<\/p>\n<p>\u4eca\u56de\u306f\u5bfe\u8c61\u30b5\u30a4\u30c8\u304c\u30b5\u30a4\u30c8\u5185\u304b\u3089\u306e\u307f\u60c5\u5831\u3092\u53d6\u3063\u3066\u304d\u3066\u3044\u308b\u3068\u3044\u3046\u8a2d\u8a08\u3067\u3042\u3063\u305f\u305f\u3081\u3001\u3084\u306f\u308a\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u306b\u3088\u3063\u3066\u7121\u99c4\u306a\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u5b8c\u5168\u306b\u6392\u9664\u3057\u3066\u3057\u307e\u3046\u306e\u304c\u3001Ajax\u5bfe\u5fdc\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3092\u3059\u308b\u306b\u3042\u305f\u3063\u3066\u306e\u63cf\u753b\u6642\u9593\u77ed\u7e2e\u306b\u95a2\u3057\u3066\u306f\u3082\u3063\u3068\u3082\u52b9\u679c\u7684\u3067\u3059\u3002<br \/>\n\u72b6\u6cc1\u306b\u3088\u308a\u3051\u308a\u3067\u3059\u304c\u3001\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u306e\u969b\u306b\u306f\u305d\u3046\u3044\u3063\u305f\u30b1\u30fc\u30b9\u304c\u304a\u305d\u3089\u304f\u4e3b\u306b\u306a\u3063\u3066\u304d\u305d\u3046\u3002<\/p>\n<p>\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u306e\u30b3\u30fc\u30c9\u306f\u3053\u3093\u306a\u304b\u3093\u3058\u3002<br \/>\n\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u3068\u30d6\u30e9\u30c3\u30af\u30ea\u30b9\u30c8\u306e\u540c\u6642\u6307\u5b9a\u306f\u539f\u7406\u7684\u306b\u306f\u610f\u5473\u304c\u7121\u3044\u306e\u3067\u3001\u51fa\u3055\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><script src=\"https:\/\/gist.github.com\/belltailjp\/ad1648750aff09bf7979.js\"><\/script><\/p>\n<p>\u30b5\u30a4\u30c8\u5916\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3084\u753b\u50cf\u3060\u3051\u3067\u306a\u304f\u3001CSS\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306a\u3069\u3082\u7121\u8996\u3067\u304d\u308b\u3068\u3055\u3089\u306b\u826f\u3044\u306e\u3067\u3059\u304c\u3001Poltergeist\u7d4c\u7531\u3067\u306f\u4eca\u306f\u3067\u304d\u306a\u3044\u3088\u3046\u3067\u3059\uff08PhantomJS\u3092\u76f4\u306b\u53e9\u304f\u6642\u306fnode\u3067\u306a\u3093\u304b\u3067\u304d\u308b\u3089\u3057\u3044\u3067\u3059\uff09\u3002<\/p>\n<p>Capybara+Poltergeist\u3092\u304b\u307e\u305b\u3066\u306e\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u306f\u4fbf\u5229\u3067\u3059\u304c\u3001\u975e\u540c\u671f\u63cf\u753b\u3092\u884c\u3063\u3066\u3044\u306a\u3044\u30b5\u30a4\u30c8\u306b\u5bfe\u3057\u3066\u3053\u308c\u3092\u884c\u3046\u306e\u306f\u4f59\u8a08\u306a\u901a\u4fe1\u3084\u51e6\u7406\u3092\u767a\u751f\u3055\u305b\u308b\u3060\u3051\u3067\u610f\u5473\u304c\u306a\u3044\u306e\u3067\u3001\u30b5\u30a4\u30c8\u306b\u5fdc\u3058\u3066\u5fc5\u8981\u306a\u3068\u304d\u3060\u3051\u3053\u306e\u3084\u308a\u65b9\u3067\u3001\u57fa\u672c\u7684\u306b\u306f\u30b7\u30f3\u30d7\u30eb\u306bNet::HTTP\u3067HTML\u5358\u54c1\u3060\u3051\u53d6\u3063\u3066\u304d\u3066Nokogiri\u3067\u523b\u3080\u306e\u304c\u826f\u3044\u3067\u3059\u3002<\/p>\n<p>\u306a\u304a\u5f53\u7136\u306e\u8a71\u3067\u3059\u304c\u3001\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3059\u308b\u4e0a\u3067\u306e\u7fa9\u52d9\u3068\u3057\u3066\u3001\u5148\u65b9\u306e\u30b5\u30fc\u30d0\u8ca0\u8377\u3084\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u6a29\u5229\u306a\u3069\u306b\u5bfe\u3057\u3066\u6ce8\u610f\u3092\u6255\u3044\u307e\u3057\u3087\u3046\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3088\u304f\u304a\u9b5a\u306e\u300c\u8102\u306e\u306e\u308a\u304c\u826f\u3044\u300d\u3068\u3044\u3044\u307e\u3059\u304c\u3001\u5b9f\u969b\u4f8b\u3048\u3070\u4f53\u8102\u80aa\u7387\u3068\u3044\u3046\u5f62\u3067\u8a08\u6e2c\u3059\u308b\u3068\u3069\u3046\u306a\u308b\u306e\u3067\u3057\u3087\u3046\u304b\u3002\u5b9f\u306f\u305d\u308c\u3092\u6e2c\u5b9a\u3059\u308b\u305f\u3081\u306b[http:\/\/www.yamato-scale.co.jp\/products\/detail\/ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[23,38],"class_list":["post-2176","post","type-post","status-publish","format-standard","hentry","category-1","tag-ruby","tag-38"],"_links":{"self":[{"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=\/wp\/v2\/posts\/2176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2176"}],"version-history":[{"count":0,"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=\/wp\/v2\/posts\/2176\/revisions"}],"wp:attachment":[{"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daily.belltail.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}