baidu-tuiguang 0.1.2 → 0.1.3

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: 8f7cfd9e817799bddadf9fc3a85c0f777e091b5e
4
- data.tar.gz: dfcb1d19776ae3245cdd277c26b2d4b2a08bde59
3
+ metadata.gz: e1bba111b8f42fce134bfaa3e300adbf2f7bcd83
4
+ data.tar.gz: ac32dce0e9e443f8555f60d3aa94ddd5ca8b73f7
5
5
  SHA512:
6
- metadata.gz: 828310e8a8303e2a4ef6f63fb68218939dc7844221367020912e63a0a30fecef30d5bb5e7ad7addcbf6308daaebc112363122494fd100245f6382416e5bb9f17
7
- data.tar.gz: a38160ed804790fce2e22f6414fa9138d1d1ab4741f10ac9564f0914032cf7ecd6cb760f595a53b3a5cd516afbb73990cae16d7e80dbc386f50967496daa3ce5
6
+ metadata.gz: 994309ebbabebd92160d2c27f017fad60e2678070d359f94a969967bd56ea6f0233376e27d030a6304fc5104ef3cd4aec75e19e8b4c083bca5030c1141ec4d30
7
+ data.tar.gz: 51717efce5ff0d376706ba2e38219e42815f0035e611f89a25a22807daecfb8fe46e903b7d2e435bc713b7a9e486ab95328ebb7444046c60eb1641ab97e0df5f
@@ -33,4 +33,6 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency "bundler", "~> 1.14"
34
34
  spec.add_development_dependency "rake", "~> 10.0"
35
35
  spec.add_development_dependency "minitest", "~> 5.0"
36
+ spec.add_development_dependency "json", "~> 2.0", ">= 2.0.2"
37
+ spec.add_development_dependency "openssl", "~> 2.0", ">= 2.0.2"
36
38
  end
@@ -1,10 +1,11 @@
1
1
  require "baidu/tuiguang/version"
2
2
  require 'uri'
3
3
  require 'net/http'
4
- require 'json'
5
4
  require 'zlib'
6
5
  require 'stringio'
7
6
  require 'date'
7
+ require 'json'
8
+ require 'openssl'
8
9
 
9
10
  module Baidu
10
11
  module Tuiguang
@@ -18,13 +19,13 @@ module Baidu
18
19
  end
19
20
 
20
21
  def basic_info
21
- data = request("path": 'GET/authInfo', "params": {})
22
+ data = request('https://tuiguang.baidu.com/request.ajax', "path": 'GET/authInfo', "params": {})
22
23
  {'username' => data['username']}
23
24
  end
24
25
 
25
26
  def plans(page = 1, page_size = 20)
26
27
  today = Time.now.to_date
27
- data = request(path: 'vega/GET/mtllist/plan', params: {"fields": ["planid", "pausestat", "planname", "shows", "clks", "paysum", "trans", "avgprice", "plandynamicideastat", "acctdynamicideastat", "mPriceFactor", "planstat", "remarketingstat", "deviceprefer", "wregion", "qrstat1", "phonetrans", "allipblackcnt", "clkrate", "wbudget", "plancyc", "showprob", "allnegativecnt", "showpay", "adtype", "acctdynamictagsublinkstat", "acctdynamictitlestat", "acctdynamichotredirectstat", "plandynamictagsublinkstat", "plandynamictitlestat", "plandynamichotredirectstat", "plandynamictitlelist", "plandynamictitleabstract", "acctdynamictitlelist", "acctdynamictitleabstract", "acctscenarizedstatus", "planscenarizedphrasestatus", "atstatus", "atbid", "atbudget", "bidprefer", "pcpricefactor", "inpeople", "remarketingPauseStat", "robotAPlanState"], "levelCond": {"userid": cookies_params['__cas__id__3']}, "pageNo": page, "pageSize": page_size, "startTime": today, "endTime": today})
28
+ data = request('http://fengchao.baidu.com/nirvana/request.ajax', path: 'vega/GET/mtllist/plan', params: {"fields": ["planid", "pausestat", "planname", "shows", "clks", "paysum", "trans", "avgprice", "plandynamicideastat", "acctdynamicideastat", "mPriceFactor", "planstat", "remarketingstat", "deviceprefer", "wregion", "qrstat1", "phonetrans", "allipblackcnt", "clkrate", "wbudget", "plancyc", "showprob", "allnegativecnt", "showpay", "adtype", "acctdynamictagsublinkstat", "acctdynamictitlestat", "acctdynamichotredirectstat", "plandynamictagsublinkstat", "plandynamictitlestat", "plandynamichotredirectstat", "plandynamictitlelist", "plandynamictitleabstract", "acctdynamictitlelist", "acctdynamictitleabstract", "acctscenarizedstatus", "planscenarizedphrasestatus", "atstatus", "atbid", "atbudget", "bidprefer", "pcpricefactor", "inpeople", "remarketingPauseStat", "robotAPlanState"], "levelCond": {"userid": cookies_params['__cas__id__3']}, "pageNo": page, "pageSize": page_size, "startTime": today, "endTime": today})
28
29
  result = {'data' => [], 'count' => data['totalCount']}
29
30
  data['listData'].each do |item|
30
31
  result['data'] << {
@@ -41,7 +42,7 @@ module Baidu
41
42
 
42
43
  def groups(plan_id, page = 1, page_size = 20)
43
44
  today = Time.now.to_date
44
- data = request("path": 'vega/GET/mtllist/unit', "params": {"fields": ["unitid", "planid", "pausestat", "unitname", "planname", "unitbid", "unitMPriceFactor", "shows", "clks", "paysum", "trans", "avgprice", "unitstat", "matchPriceFactor", "matchPriceStatus", "phonetrans", "clkrate", "extbind", "allnegativecnt", "showpay", "deviceprefer", "mPriceFactor", "adtype", "finebidstatus", "atstatus", "atbid", "planatbid", "bidprefer", "pcpricefactor", "planPcpricefactor"], "pageNo": page, "pageSize": page_size, "startTime": today, "endTime": today, "levelCond": {"planid": plan_id}})
45
+ data = request('http://fengchao.baidu.com/nirvana/request.ajax', "path": 'vega/GET/mtllist/unit', "params": {"fields": ["unitid", "planid", "pausestat", "unitname", "planname", "unitbid", "unitMPriceFactor", "shows", "clks", "paysum", "trans", "avgprice", "unitstat", "matchPriceFactor", "matchPriceStatus", "phonetrans", "clkrate", "extbind", "allnegativecnt", "showpay", "deviceprefer", "mPriceFactor", "adtype", "finebidstatus", "atstatus", "atbid", "planatbid", "bidprefer", "pcpricefactor", "planPcpricefactor"], "pageNo": page, "pageSize": page_size, "startTime": today, "endTime": today, "levelCond": {"planid": plan_id}})
45
46
  result = {'data' => [], 'count' => data['totalCount']}
46
47
  data['listData'].each do |item|
47
48
  result['data'] << {
@@ -56,7 +57,7 @@ module Baidu
56
57
 
57
58
  def keywords(plan_id, group_id, page = 1, page_size = 20)
58
59
  today = Time.now.to_date
59
- data = request("path": 'vega/GET/mtllist/word', "params": {"fields": ["winfoid", "unitid", "planid", "wordid", "pausestat", "showword", "unitname", "planname", "wordstat", "bid", "unitbid", "pcqscore", "mqscore", "trans", "paysum", "shows", "clks", "avgprice", "wmatch", "shadow_wurl", "shadow_mwurl", "activestat", "wctrl", "wurl", "pageexp", "mwurl", "showqscore", "blockreason", "confidence", "pcblockreason", "pcconfidence", "matchPriceEnableStatus", "clkrate", "showpay", "adtype", "bidprefer", "mPriceGuide", "leftPriceGuide", "left3PriceGuide", "marker", "mconfidence", "mblockreason", "pcqscorecon", "mqscorecon", "pcrelativity", "mrelativity", "pclandpage", "mlandpage", "pclandpagereason", "mlandpagereason", "addfrom", "modfrom"], "pageNo": page, "pageSize": page_size, "startTime": today, "endTime": today, "levelCond": {"unitid": group_id}})
60
+ data = request('http://fengchao.baidu.com/nirvana/request.ajax', "path": 'vega/GET/mtllist/word', "params": {"fields": ["winfoid", "unitid", "planid", "wordid", "pausestat", "showword", "unitname", "planname", "wordstat", "bid", "unitbid", "pcqscore", "mqscore", "trans", "paysum", "shows", "clks", "avgprice", "wmatch", "shadow_wurl", "shadow_mwurl", "activestat", "wctrl", "wurl", "pageexp", "mwurl", "showqscore", "blockreason", "confidence", "pcblockreason", "pcconfidence", "matchPriceEnableStatus", "clkrate", "showpay", "adtype", "bidprefer", "mPriceGuide", "leftPriceGuide", "left3PriceGuide", "marker", "mconfidence", "mblockreason", "pcqscorecon", "mqscorecon", "pcrelativity", "mrelativity", "pclandpage", "mlandpage", "pclandpagereason", "mlandpagereason", "addfrom", "modfrom"], "pageNo": page, "pageSize": page_size, "startTime": today, "endTime": today, "levelCond": {"unitid": group_id}})
60
61
  result = {'data' => [], 'count' => data['totalCount']}
61
62
  data['listData'].each do |item|
62
63
  match = ''
@@ -112,25 +113,29 @@ module Baidu
112
113
  end
113
114
 
114
115
  def keyword_pause_and_enable(keyword_id, pause = true)
115
- request("path": 'vega/MOD/keyword', "params": {"winfoid": [keyword_id.to_i], "items": {"pausestat": pause ? 1 : 0}})
116
+ request('http://fengchao.baidu.com/nirvana/request.ajax', "path": 'vega/MOD/keyword', "params": {"winfoid": [keyword_id.to_i], "items": {"pausestat": pause ? 1 : 0}})
116
117
  end
117
118
 
118
119
  def keywords_pause_and_enable(keyword_ids = [], pause = true)
119
- request("path": 'vega/MOD/adkeyword', "params": {"checkAll": false, "mtlCond": {"levelCond": {"userid": cookies_params['__cas__id__3']}}, "mtlIds": keyword_ids.map {|keyword_id| keyword_id.to_s}, "items": {"pausestat": pause}})
120
+ request('http://fengchao.baidu.com/nirvana/request.ajax', "path": 'vega/MOD/adkeyword', "params": {"checkAll": false, "mtlCond": {"levelCond": {"userid": cookies_params['__cas__id__3']}}, "mtlIds": keyword_ids.map {|keyword_id| keyword_id.to_s}, "items": {"pausestat": pause}})
120
121
  end
121
122
 
122
- def request(params = {})
123
+ def request(url, params = {})
123
124
  params.merge!(
124
125
  "userid": cookies_params['__cas__id__3'],
125
126
  "token": cookies_params['__cas__st__3']
126
127
  )
127
128
  @params = params
128
129
  params[:"params"] = params[:"params"].to_json
129
- url = URI('http://fengchao.baidu.com/nirvana/request.ajax')
130
- url.query = URI.encode_www_form(path: params[:"path"])
131
- @url = url.to_s
132
- http = Net::HTTP.new(url.host, url.port)
133
- request = Net::HTTP::Post.new(url)
130
+ uri = URI(url)
131
+ uri.query = URI.encode_www_form(path: params[:"path"])
132
+ @url = uri.to_s
133
+ http = Net::HTTP.new(uri.host, uri.port)
134
+ if uri.scheme == 'https'
135
+ http.use_ssl = true
136
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
137
+ end
138
+ request = Net::HTTP::Post.new(uri)
134
139
  request["accept"] = '*/*'
135
140
  request["accept-encoding"] = 'gzip, deflate'
136
141
  request["accept-language"] = 'zh-CN,zh;q=0.8'
@@ -138,8 +143,8 @@ module Baidu
138
143
  request["connection"] = 'keep-alive'
139
144
  request["content-type"] = 'application/x-www-form-urlencoded'
140
145
  request["cookie"] = @cookies
141
- request["host"] = 'fengchao.baidu.com'
142
- request["origin"] = 'http://fengchao.baidu.com'
146
+ request["host"] = uri.host
147
+ request["origin"] = "#{uri.scheme}://#{uri.host}"
143
148
  request["pragma"] = 'no-cache'
144
149
  request["referer"] = "http://fengchao.baidu.com/nirvana/main.html?userid=#{cookies_params['__cas__id__3']}"
145
150
  request["user-agent"] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'
@@ -1,5 +1,5 @@
1
1
  module Baidu
2
2
  module Tuiguang
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baidu-tuiguang
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xiao Jie
@@ -52,6 +52,46 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: json
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 2.0.2
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '2.0'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 2.0.2
75
+ - !ruby/object:Gem::Dependency
76
+ name: openssl
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.0'
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 2.0.2
85
+ type: :development
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '2.0'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 2.0.2
55
95
  description: ''
56
96
  email:
57
97
  - iefsou@163.com