open-uri

使い方

参考:

Ruby OpenURIの使い方 – KeruuWeb

open-uriによるWebクローリング入門 – 株式会社ルーター

open-uri で URL を開く方法

参考:

Rails fetch url – Stack Overflow

open-uri で拡張された open で URL を開いた場合の戻り値

10 キロバイト(10,240 バイト)以下の場合は StringIO、それより大きい場合は Tempfile

参考:

Ruby open-uri の open の戻り値 – Qiita

ruby – Why does OpenURI treat files under 10kb in size as StringIO? – Stack Overflow

Rubyのopen_uriでファイルオブジェクトがTempfileになる瞬間を追った – Qiita

ruby/open-uri.rb at bf287424fd00c0304c836525bb52d89fc1f4a84a · ruby/ruby

module OpenURI::Meta

サーバから取得したデータの属性を扱うために使われるモジュールです。データを表す文字列や StringIO が extend します。

参考:

module OpenURI::Meta (Ruby 2.5.0)

charset

require 'open-uri'

charset = nil
html = open(url) do |f|
  charset = f.charset
  f.read
end

参考:

instance method OpenURI::Meta#charset (Ruby 2.5.0)

Nokogiriで文字化けを防ぐ – Qiita

Shift_JISサイトをNokogiriでパースするときにはエンコード指定(CP932指定推奨)- Qiita

open-uri で utf-8 以外のページを文字変換して取得する | deadwood

Nokogiriを使ったRubyスクレイピング [初心者向けチュートリアル] | 酒と涙とRubyとRailsと

Route 477(2011-01-19) open-uriでUTF-8でないページを取得するときの注意

Ruby OpenURIの使い方 – KeruuWeb

charset のデフォルトを UTF-8 にする

open('http://example.com').tap do |io|
  charset = io.charset { 'utf-8' }
  io.set_encoding(charset)
end

参考:

ruby – Specify default charset using open-uri but use server-provided charset if given – Stack Overflow

base_uri

参考:

instance method OpenURI::Meta#base_uri (Ruby 2.5.0)

異なる scheme (HTTP/HTTPS) 間のリダイレクト

参考:

open-uriでhttp->httpsのリダイレクトが禁止されている件 – Qiita

OpenURIでhttpからhttpsのリダイレクトを一時的に許すgem作った – ぴよログ

open-uriでhttp=>httpsのリダイレクトを行う – 歩いたら休め

open-uri-redirections

参考:

open-uri-redirections/open_uri_redirections: OpenURI patch to allow redirections between HTTP and HTTPS – GitHub

Ruby open-uri redirect forbidden – Stack Overflow

BASIC 認証

参考:

Open-uriの認証とリダイレクト – Qiita

User-Agent を指定する

参考:

RubyでRSS取得するときにUser-Agentを偽装する – 動かざることバグの如し

RubyではてなブックマークのRSSにアクセスすると503が返ってくる – /var/www/yatta47.log

How to set a custom user agent in ruby – Stack Overflow

library open-uri (Ruby 2.5.0)

OpenURI

library open-uri (Ruby 2.5.0)

module OpenURI (Ruby 2.5.0)

module OpenURI::Meta (Ruby 2.5.0)

IO

class IO (Ruby 2.5.0)

instance method IO#read (Ruby 2.5.0)

File

class File (Ruby 2.5.0)

Tempfile

class Tempfile (Ruby 2.5.0)

StringIO

class StringIO (Ruby 2.5.0)

instance method StringIO#string (Ruby 2.5.0)

instance method StringIO#read (Ruby 2.5.0)

OpenURI::HTTPError

class OpenURI::HTTPError (Ruby 2.5.0)

ruby/open-uri.rb at v2_5_1 · ruby/ruby – GitHub

Tagged:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です