spider_rails 4.0.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63f087307609e302b593faa387fd969c7243632e
4
- data.tar.gz: 93b454e79515ce8c2a839b553305a897be598927
3
+ metadata.gz: 45eb0723b5f87fe4d47fe672b0731b2b023a6c9c
4
+ data.tar.gz: 7c08ae9a4ba6499bcda5b4c01038a0695e378d39
5
5
  SHA512:
6
- metadata.gz: 4b66c929ac8de53ae3ad6098e5c84de7d8fecee9069f856d4f0436f24b7f89f198b832945ede4f607f5d75cd15cfe804422376fc6e319f5bee7a22bc872cc387
7
- data.tar.gz: 0a3fe1a71289756f22760cdd2febee34861cdcc0518f3cae2d4ed2258543fd82b3219225ab48e9dd0558852bffd8b53ea4b6eb0bfeeb5da3cb3e43759f928325
6
+ metadata.gz: 61551419495a9dd7cd11cdb81a81e8a79fc5d0dd8e840ac7dbc3eb292979911e5f626e933c1a9f704cba42cd14933a3e5f756aab4f1c40ddb9cbeb96dc435f61
7
+ data.tar.gz: aa82ef9627e5661cdb32e4face134711249599dcde520238982469aa089cbbfb6d0fcecf13a3bf7f02556f905244b20e34b9f96836eed55dda31f15304e0b2b8
data/Rakefile CHANGED
@@ -14,19 +14,8 @@ RDoc::Task.new(:rdoc) do |rdoc|
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
17
-
18
-
19
-
20
17
  Bundler::GemHelper.install_tasks
21
18
 
22
- require 'rake/testtask'
23
-
24
- Rake::TestTask.new(:test) do |t|
25
- t.libs << 'lib'
26
- t.libs << 'test'
27
- t.pattern = 'test/**/*_test.rb'
28
- t.verbose = false
29
- end
30
-
19
+ require 'rspec/core/rake_task'
31
20
 
32
- task default: :test
21
+ RSpec::Core::RakeTask.new(:spec)
@@ -43,6 +43,7 @@ module Spider
43
43
  class << self
44
44
  def open_browser url
45
45
  @browser = Watir::Browser.new :chrome, switches: %w( --user-data-dir=/home/zxr/.config/google-chrome)
46
+ #@browser = Watir::Browser.new :chrome
46
47
  @browser.goto url
47
48
  @browser
48
49
  end
@@ -58,3 +59,4 @@ module Spider
58
59
  end
59
60
 
60
61
 
62
+
@@ -1,11 +1,19 @@
1
1
  module Spider
2
2
  class JiYing < Common
3
- attr_accessor :ani, :anis
3
+ attr_accessor :ani, :anis, :page
4
4
 
5
5
  def initialize page
6
6
  @ani = Hash.new
7
7
  @anis = Array.new
8
8
  @page = page
9
+ @base_url = page.url.gsub!(/\b\d(.html)?/, '')
10
+
11
+ if @base_url.include?('search')
12
+ @mode = 'search'
13
+ else
14
+ @mode = 'normal'
15
+ end
16
+
9
17
  end
10
18
 
11
19
  def full_site
@@ -20,40 +28,50 @@ module Spider
20
28
  end
21
29
 
22
30
  def final_page
23
- @page.element(css: '.title h2 a').text[/\(.+\)/].gsub!(/\(|\)/, '').to_i/100 + 1
31
+ if @mode == 'search'
32
+ fp = @page.element(css: '.title h2 a').text[/\(.+\)/].gsub!(/\(|\)/, '').to_i/100 + 1
33
+ else
34
+ fp = @page.element(css: 'a.pager-last').text.to_i
35
+ end
36
+ fp
24
37
  end
25
38
 
26
39
  def full_page page_num
27
- @page.goto "http://bt.ktxp.com/search.php?keyword=%E8%AF%B8%E7%A5%9E&sort_id=28&field=title&order=&page=#{page_num}"
28
- html = Nokogiri::HTML.parse @page.html
29
- html.css('.ltext').each do |td|
30
- single(td)
40
+ case @mode
41
+ when 'search'
42
+ @page.goto "#{@base_url}#{page_num}"
43
+ html = Nokogiri::HTML.parse @page.html
44
+ html.css('.ltext').each do |td|
45
+ sing le(td)
46
+ end
47
+ when 'normal'
48
+ @page.goto "#{@base_url}#{page_num}.html"
31
49
  end
32
50
  end
33
51
 
34
- def single element
52
+ def single element, &block
35
53
  get(element)
36
- @anis << single_filter
54
+ @anis
37
55
  end
38
56
 
39
57
  def get(element)
40
58
  element.css('a.quick-down').each do |a|
41
- @ani[:torrent] = a['href']
42
- end
43
- element.css('a.quick-down+a').each do |a|
44
- @ani[:title] = a.content
59
+ @ani[:torrent] = 'http://bt.ktxp.com' + a['href']
45
60
  end
61
+ @ani[:title],
62
+ @ani[:size],
63
+ @ani[:finish] = get_content(element, 'a.quick-down+a', 'td.ltext+td', 'td.ltext+td+td+td+td')
46
64
  @ani
47
65
  end
48
66
 
49
- def single_filter
50
- if @ani[:title][/外挂/u]
51
- @ani[:torrent].prepend('http://bt.ktxp.com') if @ani[:torrent]
52
- else
53
- @ani[:title] = nil
67
+ def get_content(element, *selectors)
68
+ tds = Array.new
69
+ selectors.each do |selector|
70
+ element.css(selector).each do |td|
71
+ tds << td.text
72
+ end
54
73
  end
55
-
56
- @ani if @ani
74
+ tds
57
75
  end
58
76
  end
59
77
  end
@@ -1,3 +1,3 @@
1
1
  module SpiderRails
2
- VERSION = "4.0.0"
2
+ VERSION = "4.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spider_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - zhuxingruo