husc 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/husc/version.rb +1 -1
- data/lib/husc.rb +13 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b88c62b3a30dcb02a077d16c07ba7b4f9c08e626133869525b7561f8b5a6aa56
|
4
|
+
data.tar.gz: 0dd75e421be8bac745a6390d32b7eec232ce29a2b2a9f17ca6c3670c26381b4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0443eaddb26088cdc733bef5166bc6566b050fe2dd1b8582cd5ca6e6286bf4a01ee9e0ffef894b5fa9b7793acb34b671fc612084e152a71c35c4214e4e5b0c5b
|
7
|
+
data.tar.gz: fd12a24502ae56cd594458db36829e0735b5713a78f317c95e2009f34cc917ff92dcf37d16df09b7a963e3954c548f8071126331b36a212c6f490671ea39d6b8
|
data/lib/husc/version.rb
CHANGED
data/lib/husc.rb
CHANGED
@@ -9,7 +9,7 @@ require 'husc/version'
|
|
9
9
|
class Husc
|
10
10
|
class Error < StandardError; end
|
11
11
|
|
12
|
-
attr_reader :url, :html, :tables, :params
|
12
|
+
attr_reader :url, :html, :tables, :params, :code
|
13
13
|
|
14
14
|
# 特殊配列
|
15
15
|
class CrawlArray < Array
|
@@ -32,16 +32,17 @@ class Husc
|
|
32
32
|
return eval("Husc.new(doc: nil).#{method}(*#{args})")
|
33
33
|
end
|
34
34
|
|
35
|
-
return eval("self[0]
|
35
|
+
return eval("self[0].method}(*#{args})")
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
def initialize(url = nil, doc: nil, html: nil, user_agent: nil, request_headers: nil)
|
39
|
+
def initialize(url = nil, doc: nil, html: nil, user_agent: nil, request_headers: nil, timeout: 10)
|
40
40
|
## -----*----- コンストラクタ -----*----- ##
|
41
41
|
@agent = Mechanize.new
|
42
42
|
@agent.keep_alive = false
|
43
43
|
@agent.user_agent = user_agent unless user_agent.nil?
|
44
44
|
@agent.request_headers = request_headers unless request_headers.nil?
|
45
|
+
@agent.read_timeout = timeout
|
45
46
|
|
46
47
|
if !url.nil?
|
47
48
|
get(url)
|
@@ -60,7 +61,14 @@ class Husc
|
|
60
61
|
def get(url)
|
61
62
|
## -----*----- ページ推移 -----*----- ##
|
62
63
|
@url = url
|
63
|
-
|
64
|
+
begin
|
65
|
+
page = @agent.get(@url)
|
66
|
+
@code = page.code
|
67
|
+
rescue Mechanize::ResponseCodeError => e
|
68
|
+
@code = e.page.body
|
69
|
+
rescue Net::HTTP::Persistent::Error => e
|
70
|
+
puts e
|
71
|
+
end
|
64
72
|
html = page.content.toutf8
|
65
73
|
update_params(html)
|
66
74
|
end
|
@@ -218,3 +226,4 @@ class Husc
|
|
218
226
|
return str.gsub(" ", ' ').squeeze(' ').gsub("\n \n", "\n").gsub("\n ", "\n").gsub("\r", "\n").squeeze("\n").gsub("\t", "").strip
|
219
227
|
end
|
220
228
|
end
|
229
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: husc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tatsuya Abe
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mechanize
|