個人情報保護委員会の新着情報もSlackに投げる
経産省ニュースリリースと同じように、個人情報保護委員会の新着情報も、個人情報保護法に関する業務を扱っている私にとっては常に追っていなければならないものです。
robots.txtは次のとおり。新着情報をアップしているURLは"https://www.ppc.go.jp/information/"なので、今回の目的を達成しようとするにあたり、robots.txtの記載は障害とはなりません。
また、利用規約においても特にスクレイピングが禁止されているということはありません。
User-agent: * Disallow: /common/* Disallow: /hardcore/* Disallow: /hc_config/ Disallow: /image/ Disallow: /webadmin/* User-agent: ndl-japan Disallow: /hardcore/ Disallow: /hc_config/ Disallow: /webadmin/
ところで、PPCのサイトをスクレイピングしようとすると、次のようにDH鍵が短いと怒られてしまいます。
dh key too small
そのため、Net::HTTPのciphers設定でDHを除外する必要があります。
require 'faraday' require 'faraday_middleware' require 'nokogiri' require './lib/hoge' uri = %(https://www.ppc.go.jp/information/) connect = Faraday.new(uri) do |builder| builder.adapter :net_http do |http| http.ciphers = %(DEFAULT:!DH) end end Nokogiri::HTML(connect.get.body).xpath('//ul[@class="news-list"]//a').each_with_index do |node, i| post_feed_to_slack( PPC, %(https://www.ppc.go.jp#{node[:href]}), node.text, %(個人情報保護委員会新着情報) ) break if i == 19 end delete_unnecessary_data(PPC, 40)