質問するログイン新規登録

回答編集履歴

2

修正

2019/04/21 07:27

投稿

退会済みユーザー
answer CHANGED
@@ -8,18 +8,18 @@
8
8
  url = 'https://www.boatrace.jp/owpc/pc/extra/data/download.html'
9
9
  doc = Nokogiri::HTML.parse(open(url, { 'User-Agent' => USER_AGENT }))
10
10
 
11
- def download_file(url, user_agent)
11
+ def download_file(url, user_agent, referer)
12
12
  Dir.mkdir('download') unless Dir.exist?('download')
13
13
  file_name = DateTime.now.strftime("%Y%m%d%H%M%S")
14
14
  open("download/#{file_name + File.extname(url)}", 'wb') do |out|
15
- open(url) do |data|
15
+ open(url, {'User-Agent' => user_agent, 'Referer' => referer}) do |data|
16
16
  out.write(data.read)
17
17
  end
18
18
  end
19
19
  end
20
20
 
21
21
  doc.xpath('//ul[@class="data_list h-mt15"]/li[1]').each do |li_tag|
22
- download_file('https://www.boatrace.jp' + li_tag.xpath('.//a/@href').text, url)
22
+ download_file('https://www.boatrace.jp' + li_tag.xpath('.//a/@href').text, USER_AGENT, url)
23
23
  end
24
24
 
25
25
  ```

1

修正

2019/04/21 07:27

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,4 @@
1
+ タスクスケジューラなどを使用して、以下のコードを時間になったら実行できるようにする。
1
2
  ```Ruby
2
3
  require 'open-uri'
3
4
  require 'nokogiri'