個人情報保護委員会の新着情報もSlackに投げる

it-lawyer.hatenablog.com

it-lawyer.hatenablog.com

経産省ニュースリリースと同じように、個人情報保護委員会の新着情報も、個人情報保護法に関する業務を扱っている私にとっては常に追っていなければならないものです。

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)