タスクスケジューラなどを使用して、以下のコードを時間になったら実行できるようにする。
Ruby
1require 'open-uri'
2require 'nokogiri'
3
4USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
5 + 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
6url = 'https://www.boatrace.jp/owpc/pc/extra/data/download.html'
7doc = Nokogiri::HTML.parse(open(url, { 'User-Agent' => USER_AGENT }))
8
9def download_file(url, user_agent, referer)
10 Dir.mkdir('download') unless Dir.exist?('download')
11 file_name = DateTime.now.strftime("%Y%m%d%H%M%S")
12 open("download/#{file_name + File.extname(url)}", 'wb') do |out|
13 open(url, {'User-Agent' => user_agent, 'Referer' => referer}) do |data|
14 out.write(data.read)
15 end
16 end
17end
18
19doc.xpath('//ul[@class="data_list h-mt15"]/li[1]').each do |li_tag|
20 download_file('https://www.boatrace.jp' + li_tag.xpath('.//a/@href').text, USER_AGENT, url)
21end
22
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。