Your Name 6 năm trước cách đây
mục cha
commit
b2a52a68cb

+ 46 - 0
hg3535/middlewares.py

@@ -4,6 +4,7 @@
 #
 # See documentation in:
 # https://doc.scrapy.org/en/latest/topics/spider-middleware.html
+import random
 
 from scrapy import signals
 
@@ -79,6 +80,11 @@ class Hg3535DownloaderMiddleware(object):
         # - or return a Request object
         # - or raise IgnoreRequest: process_exception() methods of
         #   installed downloader middleware will be called
+        # suiji = random.randint(0,10)
+        # if suiji >= 5:
+        #     print('\n随机{}正在使用代理\n'.format(suiji))
+        #     proxy = 'http://127.0.0.1:8080'
+        #     request.meta['proxy'] = proxy
         return None
 
     def process_response(self, request, response, spider):
@@ -88,6 +94,12 @@ class Hg3535DownloaderMiddleware(object):
         # - return a Response object
         # - return a Request object
         # - or raise IgnoreRequest
+        # if response.status != 200:
+        #     # proxy = 'http://127.0.0.1:8080'
+        #     # # print("this is response ip:" + proxy)
+        #     # # 对当前reque加上代理
+        #     # request.meta['proxy'] = proxy
+        #     return request
         return response
 
     def process_exception(self, request, exception, spider):
@@ -98,7 +110,41 @@ class Hg3535DownloaderMiddleware(object):
         # - return None: continue processing this exception
         # - return a Response object: stops process_exception() chain
         # - return a Request object: stops process_exception() chain
+        # print("\n出现异常,正在使用代理重试....\n")
+        # print("\n出现异常,跳过异常....\n")
+        # proxy = 'http://127.0.0.1:8080'
+        # request.meta['proxy'] = proxy
+        # return request
         pass
 
     def spider_opened(self, spider):
         spider.logger.info('Spider opened: %s' % spider.name)
+
+
+
+
+class Hg3535timeoutDownloaderMiddleware(object):
+
+    def process_request(self, request, spider):
+        # suiji = random.randint(0,10)
+        # if suiji >= 5:
+        #     print('\n随机{}正在使用代理\n'.format(suiji))
+        #     proxy = 'http://127.0.0.1:8080'
+        #     request.meta['proxy'] = proxy
+        return None
+
+    def process_response(self, request, response, spider):
+        if response.status != 200:
+            # proxy = 'http://127.0.0.1:8080'
+            # # print("this is response ip:" + proxy)
+            # # 对当前reque加上代理
+            # request.meta['proxy'] = proxy
+            return request
+        return response
+
+    def process_exception(self, request, exception, spider):
+        # print("出现异常,正在使用代理重试....")
+        # print("出现异常,跳过异常....")
+        # proxy = 'http://127.0.0.1:8080'
+        # request.meta['proxy'] = proxy
+        return request

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 226 - 528
hg3535/pipelines.py


+ 0 - 9
hg3535/requirements.txt

@@ -1,9 +1,7 @@
 aiopg==0.16.0
 asn1crypto==0.24.0
-asyncio==3.4.3
 attrs==19.1.0
 Automat==0.7.0
-bsddb3==6.2.6
 certifi==2019.3.9
 cffi==1.12.2
 chardet==3.0.4
@@ -40,24 +38,17 @@ PyDispatcher==2.0.5
 PyHamcrest==1.9.0
 PyMySQL==0.9.3
 pyOpenSSL==19.0.0
-pypiwin32==223
 pyquery==1.4.0
 pyspider==0.3.10
 python-dateutil==2.8.0
 pytz==2018.9
-pywin32==224
 PyYAML==3.13
 queuelib==1.5.0
 redis==3.2.1
 requests==2.21.0
 Scrapy==1.6.0
-scrapy-deltafetch==1.2.1
-scrapy-magicfields==1.1.0
 scrapy-redis==0.6.8
 scrapy-splash==0.7.2
-scrapyd==1.2.0
-scrapyd-client==1.1.0
-selenium==3.141.0
 service-identity==18.1.0
 six==1.12.0
 tblib==1.3.2

+ 22 - 6
hg3535/settings.py

@@ -24,7 +24,7 @@ USER_AGENT = {
 ROBOTSTXT_OBEY = False
 
 # Configure maximum concurrent requests performed by Scrapy (default: 16)
-CONCURRENT_REQUESTS = 64
+CONCURRENT_REQUESTS = 100
 
 # Configure a delay for requests for the same website (default: 0)
 # See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay
@@ -32,8 +32,8 @@ CONCURRENT_REQUESTS = 64
 #DOWNLOAD_DELAY = 3
 DOWNLOAD_DELAY = 0
 # The download delay setting will honor only one of:
-CONCURRENT_REQUESTS_PER_DOMAIN = 32
-CONCURRENT_REQUESTS_PER_IP = 0
+CONCURRENT_REQUESTS_PER_DOMAIN = 100
+CONCURRENT_REQUESTS_PER_IP = 100
 
 # Disable cookies (enabled by default)
 #COOKIES_ENABLED = False
@@ -60,9 +60,13 @@ CONCURRENT_REQUESTS_PER_IP = 0
 
 # Enable or disable downloader middlewares
 # See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
-# DOWNLOADER_MIDDLEWARES = {
-#    'hg3535.middlewares.Hg3535DownloaderMiddleware': 543,
-# }
+DOWNLOADER_MIDDLEWARES = {
+   # 'hg3535.middlewares.Hg3535DownloaderMiddleware': 200,
+   'hg3535.middlewares.Hg3535timeoutDownloaderMiddleware': 200,
+   'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware': 500,
+   # 'scrapy.contrib.downloadermiddleware.retry.RetryMiddleware': 502,
+
+}
 
 # Enable or disable extensions
 # See https://doc.scrapy.org/en/latest/topics/extensions.html
@@ -109,6 +113,18 @@ ITEM_PIPELINES = {
 #HTTPCACHE_DIR = 'httpcache'
 #HTTPCACHE_IGNORE_HTTP_CODES = []
 #HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'
+# DOWNLOAD_TIMEOUT = 180
+
+REACTOR_THREADPOOL_MAXSIZE = 40
+# LOG_LEVEL = 'INFO'
+COOKIES_ENABLED = False
+RETRY_ENABLED = False
+DOWNLOAD_TIMEOUT = 2
+REDIRECT_ENABLED = False
+
+# RETRY_ENABLED = True
+# RETRY_TIMES = 2
+# RETRY_HTTP_CODES = [500, 502, 503, 504, 400, 408]
 
 POST_HOST = 'localhost'
 POST_DATABASE = 'postgres'

+ 33 - 49
hg3535/spiders/bangqiu.py

@@ -62,7 +62,7 @@ class BqrangqiuSpider(scrapy.Spider):
             league_name = new_datas["c"]["n"]
             new_data = new_datas["es"]
             for result in new_data:
-                if result['pci']["ctid"] == 0:
+                if result['pci']["ctid"] is 0:
                     item = Bangqiu()
                     # 比赛id
                     game_id = str(result['k'])
@@ -91,28 +91,14 @@ class BqrangqiuSpider(scrapy.Spider):
                     concedes_dict_rule = {}
                     try:
                         concedes = result['o']["ah"]["v"]
-                        # concedes_dict_rule['bq_concede_home'] = concedes[1]
-                        home_rule = concedes[1]
-                        if home_rule.startswith('+'):
-                            n_home_rule = home_rule.replace('+', '-')
-                            concedes_dict_rule['bq_concede_home'] = n_home_rule
-                        if home_rule.startswith('-'):
-                            n_home_rule = home_rule.replace('-', '+')
-                            concedes_dict_rule['bq_concede_home'] = n_home_rule
+                        concedes_dict_rule['bq_concede_home'] = concedes[1]
+                        concedes_dict_rule['bq_concede_guest'] = concedes[3]
+                        if pt is 3:
+                            concedes_dict['bq_concede_home'] = float(concedes[5]) - 1
+                            concedes_dict['bq_concede_guest'] = float(concedes[7]) - 1
                         else:
-                            concedes_dict_rule['bq_concede_home'] = home_rule
-                        concedes_dict['bq_concede_home'] = concedes[5]
-                        # concedes_dict_rule['bq_concede_guest'] = concedes[3]
-                        guest_rule = concedes[3]
-                        if guest_rule.startswith('+'):
-                            n_guest_rule = home_rule.replace('+', '-')
-                            concedes_dict_rule['bq_concede_guest'] = n_guest_rule
-                        if guest_rule.startswith('-'):
-                            n_guest_rule = home_rule.replace('-', '+')
-                            concedes_dict_rule['bq_concede_guest'] = n_guest_rule
-                        else:
-                            concedes_dict_rule['bq_concede_guest'] = guest_rule
-                        concedes_dict['bq_concede_guest'] = concedes[7]
+                            concedes_dict['bq_concede_home'] = float(concedes[5])
+                            concedes_dict['bq_concede_guest'] = float(concedes[7])
                     except:
                         concedes_dict_rule['bq_concede_home'] = ""
                         concedes_dict['bq_concede_home'] = ""
@@ -121,28 +107,14 @@ class BqrangqiuSpider(scrapy.Spider):
 # 让球 前5局-------------------------------------------------------------------------------------------------------------
                     try:
                         concedes = result['o']["ahf5in"]["v"]
-                        # concedes_dict_rule['bq_five_concede_home'] = concedes[1]
-                        home_rule = concedes[1]
-                        if home_rule.startswith('+'):
-                            n_home_rule = home_rule.replace('+', '-')
-                            concedes_dict_rule['bq_five_concede_home'] = n_home_rule
-                        if home_rule.startswith('-'):
-                            n_home_rule = home_rule.replace('-', '+')
-                            concedes_dict_rule['bq_five_concede_home'] = n_home_rule
-                        else:
-                            concedes_dict_rule['bq_five_concede_home'] = home_rule
-                        concedes_dict['bq_five_concede_home'] = concedes[5]
-                        # concedes_dict_rule['bq_five_concede_guest'] = concedes[3]
-                        guest_rule = concedes[3]
-                        if guest_rule.startswith('+'):
-                            n_guest_rule = home_rule.replace('+', '-')
-                            concedes_dict_rule['bq_five_concede_guest'] = n_guest_rule
-                        if guest_rule.startswith('-'):
-                            n_guest_rule = home_rule.replace('-', '+')
-                            concedes_dict_rule['bq_five_concede_guest'] = n_guest_rule
+                        concedes_dict_rule['bq_five_concede_home'] = concedes[1]
+                        concedes_dict_rule['bq_five_concede_guest'] = concedes[3]
+                        if pt is 3:
+                            concedes_dict['bq_five_concede_home'] = float(concedes[5]) - 1
+                            concedes_dict['bq_five_concede_guest'] = float(concedes[7]) - 1
                         else:
-                            concedes_dict_rule['bq_five_concede_guest'] = guest_rule
-                        concedes_dict['bq_five_concede_guest'] = concedes[7]
+                            concedes_dict['bq_five_concede_home'] = concedes[5]
+                            concedes_dict['bq_five_concede_guest'] = concedes[7]
                     except:
                         concedes_dict_rule['bq_five_concede_home'] = ""
                         concedes_dict['bq_five_concede_home'] = ""
@@ -165,9 +137,13 @@ class BqrangqiuSpider(scrapy.Spider):
                     try:
                         total_sizes = result['o']["ou"]["v"]
                         total_size_dict_rule['bq_total_number_big'] = total_sizes[1]
-                        total_size_dict['bq_total_number_big'] = total_sizes[5]
                         total_size_dict_rule['bq_total_number_small'] = total_sizes[3]
-                        total_size_dict['bq_total_number_small'] = total_sizes[7]
+                        if pt is 3:
+                            total_size_dict['bq_total_number_big'] = float(total_sizes[5]) - 1
+                            total_size_dict['bq_total_number_small'] = float(total_sizes[7]) - 1
+                        else:
+                            total_size_dict['bq_total_number_big'] = total_sizes[5]
+                            total_size_dict['bq_total_number_small'] = total_sizes[7]
                     except:
                         total_size_dict_rule['bq_total_number_big'] = ""
                         total_size_dict['bq_total_number_big'] = ""
@@ -177,9 +153,13 @@ class BqrangqiuSpider(scrapy.Spider):
                     try:
                         total_sizes = result['o']["ouf5in"]["v"]
                         total_size_dict_rule['bq_five_total_number_big'] = total_sizes[1]
-                        total_size_dict['bq_five_total_number_big'] = total_sizes[5]
                         total_size_dict_rule['bq_five_total_number_small'] = total_sizes[3]
-                        total_size_dict['bq_five_total_number_small'] = total_sizes[7]
+                        if pt is 3:
+                            total_size_dict['bq_five_total_number_big'] = float(total_sizes[5]) - 1
+                            total_size_dict['bq_five_total_number_small'] = float(total_sizes[7]) - 1
+                        else:
+                            total_size_dict['bq_five_total_number_big'] = total_sizes[5]
+                            total_size_dict['bq_five_total_number_small'] = total_sizes[7]
                     except:
                         total_size_dict_rule['bq_five_total_number_big'] = ""
                         total_size_dict['bq_five_total_number_big'] = ""
@@ -192,10 +172,14 @@ class BqrangqiuSpider(scrapy.Spider):
                     try:
                         odd_evens = result['o']["oe"]["v"]
                         # 上半场 主队让球条件
-                        odd_evens_dict['bq_two_sides_single'] = odd_evens[1]
                         odd_evens_dict_rule['bq_two_sides_single'] = "单"
-                        odd_evens_dict['bq_two_sides_double'] = odd_evens[3]
                         odd_evens_dict_rule['bq_two_sides_double'] = "双"
+                        if pt is 3:
+                            odd_evens_dict['bq_two_sides_single'] = float(odd_evens[1]) - 1
+                            odd_evens_dict['bq_two_sides_double'] = float(odd_evens[3]) - 1
+                        else:
+                            odd_evens_dict['bq_two_sides_single'] = odd_evens[1]
+                            odd_evens_dict['bq_two_sides_double'] = odd_evens[3]
 
                     except:
                         odd_evens_dict['bq_two_sides_single'] = ""

+ 28 - 49
hg3535/spiders/lanqiu.py

@@ -8,53 +8,33 @@ from scrapy.http import Request
 from .. items import Lanqiu
 
 
-def rangqiu_daxiao(inner):
-    concede = [inner[i] for i in range(len(inner)) if i % 2 == 1]
+def rangqiu_daxiao(inner, pt):
+    concede = [inner[i] for i in range(len(inner)) if i % 2 is 1]
     # 主队让球条件赔率
-    concedehome = [concede[i] for i in range(len(concede)) if i % 2 == 0]
+    concedehome = [concede[i] for i in range(len(concede)) if i % 2 is 0]
     # 客队让球条件赔率
-    concedeguest = [concede[i] for i in range(len(concede)) if i % 2 == 1]
+    concedeguest = [concede[i] for i in range(len(concede)) if i % 2 is 1]
     # 主队让球条件
-    # concede_home_rule = [concedehome[i] for i in range(len(concedehome)) if i % 2 == 0]
-    concede_home_rule = []
-    for i in range(len(concedehome)):
-        if i % 2 == 0:
-            home_rule = concedehome[i]
-            if home_rule.startswith('+'):
-                n_home_rule = home_rule.replace('+', '-')
-                concede_home_rule.append(n_home_rule)
-            if home_rule.startswith('-'):
-                n_home_rule = home_rule.replace('-', '+')
-                concede_home_rule.append(n_home_rule)
-            else:
-                concede_home_rule.append(home_rule)
-    # 主队让球赔率
-    concede_home = [concedehome[i] for i in range(len(concedehome)) if i % 2 == 1]
+    concede_home_rule = [concedehome[i] for i in range(len(concedehome)) if i % 2 == 0]
     # 客队让球条件
-    # concede_guest_rule = [concedeguest[i] for i in range(len(concedeguest)) if i % 2 == 0]
-    concede_guest_rule = []
-    for i in range(len(concedeguest)):
-        if i % 2 == 0:
-            guest_rule = concedeguest[i]
-            if guest_rule.startswith('+'):
-                n_guest_rule = guest_rule.replace('+', '-')
-                concede_guest_rule.append(n_guest_rule)
-            if guest_rule.startswith('-'):
-                n_guest_rule = guest_rule.replace('-', '+')
-                concede_guest_rule.append(n_guest_rule)
-            else:
-                concede_guest_rule.append(guest_rule)
+    concede_guest_rule = [concedeguest[i] for i in range(len(concedeguest)) if i % 2 == 0]
     # 客队让球赔率
-    concede_guest = [concedeguest[i] for i in range(len(concedeguest)) if i % 2 == 1]
+    if pt is 3:
+        concede_guest = [float(concedeguest[i]) - 1 for i in range(len(concedeguest)) if i % 2 is 1]
+        # 主队让球赔率
+        concede_home = [float(concedehome[i]) - 1 for i in range(len(concedehome)) if i % 2 is 1]
+    else:
+        concede_home = [concedehome[i] for i in range(len(concedehome)) if i % 2 is 1]
+        concede_guest = [concedeguest[i] for i in range(len(concedeguest)) if i % 2 is 1]
     return concede_home_rule, concede_home, concede_guest_rule, concede_guest
 
 
 def danshaung_fun(inner):
-    odd_even = [inner[i] for i in range(len(inner)) if i % 2 == 1]
+    odd_even = [inner[i] for i in range(len(inner)) if i % 2 is 1]
     # 全场 总分单
-    odd_even_odd = [odd_even[i] for i in range(len(odd_even)) if i % 2 == 0]
+    odd_even_odd = [odd_even[i] for i in range(len(odd_even)) if i % 2 is 0]
     # 全场 总分双
-    odd_even_even = [odd_even[i] for i in range(len(odd_even)) if i % 2 == 1]
+    odd_even_even = [odd_even[i] for i in range(len(odd_even)) if i % 2 is 1]
     return odd_even_odd, odd_even_even
 
 
@@ -95,7 +75,6 @@ class LanqiuSpider(scrapy.Spider):
                             yield Request(url=url, callback=self.parse_each, meta={'pt': pt})
                         if pt == 2:
                             url = "https://hg3535z.com/odds2/d/getamodds?eid=" + game_id + "iip=false&ubt=am&isp=false"
-                            # http://hg3535z.com/odds2/d/getamodds?eid=3136803&iip=false&ubt=am&isp=false
                             yield Request(url=url, callback=self.parse_each, meta={'pt': pt})
                         if pt == 3:
                             url = "https://hg3535z.com/odds2/d/getamodds?eid=" + game_id + "iip=false&ubt=am&isp=true"
@@ -143,7 +122,7 @@ class LanqiuSpider(scrapy.Spider):
                 concedes = result['o']["ah"]["v"]
                 # print(concedes)
                 # 主队让球条件,主队让球赔率,客队让球条件,客队让球赔率
-                concede_home_rule,concede_home,concede_guest_rule,concede_guest=rangqiu_daxiao(inner=concedes)
+                concede_home_rule,concede_home,concede_guest_rule,concede_guest=rangqiu_daxiao(inner=concedes, pt=pt)
                 concedes_dict_rule['lq_concede_home'] = concede_home_rule
                 concedes_dict['lq_concede_home'] = concede_home
                 concedes_dict_rule['lq_concede_guest'] = concede_guest_rule
@@ -161,7 +140,7 @@ class LanqiuSpider(scrapy.Spider):
             try:
                 half_concedes = result['o']["ah1st"]["v"]
                 # 上半场 主队让球条件
-                half_concede_home_rule, half_concede_home, half_concede_guest_rule, half_concede_guest=rangqiu_daxiao(inner=half_concedes)
+                half_concede_home_rule, half_concede_home, half_concede_guest_rule, half_concede_guest=rangqiu_daxiao(inner=half_concedes, pt=pt)
                 concedes_dict_rule['lq_half_concede_home'] = half_concede_home_rule
                 concedes_dict['lq_half_concede_home'] = half_concede_home
                 concedes_dict_rule['lq_half_concede_guest'] = half_concede_guest_rule
@@ -180,7 +159,7 @@ class LanqiuSpider(scrapy.Spider):
             # 第一节让球
             try:
                 one_concedes = result['o']["ahq1"]["v"]
-                one_concede_home_rule,one_concede_home,one_concede_guest_rule,one_concede_guest = rangqiu_daxiao(inner=one_concedes)
+                one_concede_home_rule,one_concede_home,one_concede_guest_rule,one_concede_guest = rangqiu_daxiao(inner=one_concedes, pt=pt)
                 concedes_dict_rule['lq_one_concede_home'] = one_concede_home_rule
                 concedes_dict['lq_one_concede_home'] = one_concede_home
                 concedes_dict_rule['lq_one_concede_guest'] = one_concede_guest_rule
@@ -198,7 +177,7 @@ class LanqiuSpider(scrapy.Spider):
             # 第二节让球
             try:
                 two_concedes = result['o']["ahq2"]["v"]
-                two_concede_home_rule,two_concede_home,two_concede_guest_rule,two_concede_guest = rangqiu_daxiao(inner=two_concedes)
+                two_concede_home_rule,two_concede_home,two_concede_guest_rule,two_concede_guest = rangqiu_daxiao(inner=two_concedes, pt=pt)
                 concedes_dict_rule['lq_two_concede_home'] = two_concede_home_rule
                 concedes_dict['lq_two_concede_home'] = two_concede_home
                 concedes_dict_rule['lq_two_concede_guest'] = two_concede_guest_rule
@@ -215,7 +194,7 @@ class LanqiuSpider(scrapy.Spider):
             # 第三节让球
             try:
                 three_concedes = result['o']["ahq3"]["v"]
-                three_concede_home_rule,three_concede_home,three_concede_guest_rule,three_concede_guest = rangqiu_daxiao(inner=three_concedes)
+                three_concede_home_rule,three_concede_home,three_concede_guest_rule,three_concede_guest = rangqiu_daxiao(inner=three_concedes, pt=pt)
                 concedes_dict_rule['lq_three_concede_home'] = three_concede_home_rule
                 concedes_dict['lq_three_concede_home'] = three_concede_home
                 concedes_dict_rule['lq_three_concede_guest'] = three_concede_guest_rule
@@ -233,7 +212,7 @@ class LanqiuSpider(scrapy.Spider):
             # 第四节让球
             try:
                 four_concedes = result['o']["ahq4"]["v"]
-                four_concede_home_rule,four_concede_home,four_concede_guest_rule,four_concede_guest = rangqiu_daxiao(inner=four_concedes)
+                four_concede_home_rule,four_concede_home,four_concede_guest_rule,four_concede_guest = rangqiu_daxiao(inner=four_concedes, pt=pt)
                 concedes_dict_rule['lq_four_concede_home'] = four_concede_home_rule
                 concedes_dict['lq_four_concede_home'] = four_concede_home
                 concedes_dict_rule['lq_four_concede_guest'] = four_concede_guest_rule
@@ -254,7 +233,7 @@ class LanqiuSpider(scrapy.Spider):
             total_sizes_dict_rule = {}
             try:
                 total_sizes = result['o']["ou"]["v"]
-                total_sizes_big_rule,total_sizes_big,total_sizes_small_rule,total_sizes_small = rangqiu_daxiao(inner=total_sizes)
+                total_sizes_big_rule,total_sizes_big,total_sizes_small_rule,total_sizes_small = rangqiu_daxiao(inner=total_sizes, pt=pt)
                 total_sizes_dict_rule["lq_total_sizes_big"] = total_sizes_big_rule
                 total_sizes_dict["lq_total_sizes_big"] = total_sizes_big
                 total_sizes_dict_rule["lq_total_sizes_small"] = total_sizes_small_rule
@@ -271,7 +250,7 @@ class LanqiuSpider(scrapy.Spider):
             # 上半场总分大小
             try:
                 half_total_sizes = result['o']["ou1st"]["v"]
-                half_total_sizes_big_rule,half_total_sizes_big,half_total_sizes_small_rule,half_total_sizes_small = rangqiu_daxiao(inner=half_total_sizes)
+                half_total_sizes_big_rule,half_total_sizes_big,half_total_sizes_small_rule,half_total_sizes_small = rangqiu_daxiao(inner=half_total_sizes, pt=pt)
                 total_sizes_dict_rule["lq_half_total_sizes_big"] = half_total_sizes_big_rule
                 total_sizes_dict["lq_half_total_sizes_big"] = half_total_sizes_big
                 total_sizes_dict_rule["lq_half_total_sizes_small"] = half_total_sizes_small_rule
@@ -288,7 +267,7 @@ class LanqiuSpider(scrapy.Spider):
             # 第一节总分大小
             try:
                 one_total_sizes = result['o']["ou1st"]["v"]
-                one_total_sizes_big_rule,one_total_sizes_big,one_total_sizes_small_rule,one_total_sizes_small = rangqiu_daxiao(inner=one_total_sizes)
+                one_total_sizes_big_rule,one_total_sizes_big,one_total_sizes_small_rule,one_total_sizes_small = rangqiu_daxiao(inner=one_total_sizes, pt=pt)
                 total_sizes_dict_rule["lq_one_total_sizes_big"] = one_total_sizes_big_rule
                 total_sizes_dict["lq_one_total_sizes_big"] = one_total_sizes_big
                 total_sizes_dict_rule["lq_one_total_sizes_small"] = one_total_sizes_small_rule
@@ -305,7 +284,7 @@ class LanqiuSpider(scrapy.Spider):
             # 第二节场总分大小
             try:
                 two_total_sizes = result['o']["ou1st"]["v"]
-                two_total_sizes_big_rule,two_total_sizes_big,two_total_sizes_small_rule,two_total_sizes_small = rangqiu_daxiao(inner=two_total_sizes)
+                two_total_sizes_big_rule,two_total_sizes_big,two_total_sizes_small_rule,two_total_sizes_small = rangqiu_daxiao(inner=two_total_sizes, pt=pt)
                 total_sizes_dict_rule["lq_two_total_sizes_big"] = two_total_sizes_big_rule
                 total_sizes_dict["lq_two_total_sizes_big"] = two_total_sizes_big
                 total_sizes_dict_rule["lq_two_total_sizes_small"] = two_total_sizes_small_rule
@@ -322,7 +301,7 @@ class LanqiuSpider(scrapy.Spider):
             # 第三节总分大小
             try:
                 three_total_sizes = result['o']["ou1st"]["v"]
-                three_total_sizes_big_rule,three_total_sizes_big,three_total_sizes_small_rule,three_total_sizes_small = rangqiu_daxiao(inner=three_total_sizes)
+                three_total_sizes_big_rule,three_total_sizes_big,three_total_sizes_small_rule,three_total_sizes_small = rangqiu_daxiao(inner=three_total_sizes, pt=pt)
                 total_sizes_dict_rule["lq_three_total_sizes_big"] = three_total_sizes_big_rule
                 total_sizes_dict["lq_three_total_sizes_big"] = three_total_sizes_big
                 total_sizes_dict_rule["lq_three_total_sizes_small"] = three_total_sizes_small_rule
@@ -339,7 +318,7 @@ class LanqiuSpider(scrapy.Spider):
             # 第四节总分大小
             try:
                 four_total_sizes = result['o']["ou1st"]["v"]
-                four_total_sizes_big_rule,four_total_sizes_big,four_total_sizes_small_rule,four_total_sizes_small = rangqiu_daxiao(inner=four_total_sizes)
+                four_total_sizes_big_rule,four_total_sizes_big,four_total_sizes_small_rule,four_total_sizes_small = rangqiu_daxiao(inner=four_total_sizes, pt=pt)
                 total_sizes_dict_rule["lq_four_total_sizes_big"] = four_total_sizes_big_rule
                 total_sizes_dict["lq_four_total_sizes_big"] = four_total_sizes_big
                 total_sizes_dict_rule["lq_four_total_sizes_small"] = four_total_sizes_small_rule

+ 24 - 45
hg3535/spiders/wangqiu.py

@@ -40,13 +40,13 @@ class LanqiuSpider(scrapy.Spider):
                     for new_result in new_results:
                         game_id = str(new_result['i'][16])
                         if pt == 1:
-                            url = "https://hg3535z.com/odds2/d/getamodds?eid=" + game_id + "iip=false&ubt=am&isp=false"
+                            url = "https://hg3535z.com/odds2/d/getamodds?eid=" + game_id + "&iip=false&ubt=am&isp=false"
                             yield Request(url=url, callback=self.parse_each, meta={'pt': pt})
                         if pt == 2:
-                            url = "https://hg3535z.com/odds2/d/getamodds?eid=" + game_id + "iip=false&ubt=am&isp=false"
+                            url = "https://hg3535z.com/odds2/d/getamodds?eid=" + game_id + "&iip=false&ubt=am&isp=false"
                             yield Request(url=url, callback=self.parse_each, meta={'pt': pt})
                         if pt == 3:
-                            url = "https://hg3535z.com/odds2/d/getamodds?eid=" + game_id + "iip=false&ubt=am&isp=true"
+                            url = "https://hg3535z.com/odds2/d/getamodds?eid=" + game_id + "&iip=false&ubt=am&isp=true"
                             yield Request(url=url, callback=self.parse_each, meta={'pt': pt})
                         # http://hg3535z.com/odds2/d/getamodds?eid=3120299&iip=false&ubt=am&isp=false
     def parse_each(self, response):
@@ -93,30 +93,19 @@ class LanqiuSpider(scrapy.Spider):
                 concedes_dict_rule = {}
                 try:
                     concedes = result['o']["ah"]["v"]
-                    # concedes_dict_rule['wq_concede_home'] = concedes[1]
-                    home_rule = concedes[1]
-                    if home_rule.startswith('+'):
-                        n_home_rule = home_rule.replace('+', '-')
-                        concedes_dict_rule['wq_concede_home'] = n_home_rule
-                    if home_rule.startswith('-'):
-                        n_home_rule = home_rule.replace('-', '+')
-                        concedes_dict_rule['wq_concede_home'] = n_home_rule
-                    concedes_dict['wq_concede_home'] = concedes[5]
-                    # concedes_dict_rule['wq_concede_guest'] = concedes[3]
-                    guest_rule = concedes[3]
-                    if guest_rule.startswith('+'):
-                        n_guest_rule = guest_rule.replace('+', '-')
-                        concedes_dict_rule['wq_concede_guest'] = n_guest_rule
-                    if guest_rule.startswith('-'):
-                        n_guest_rule = guest_rule.replace('-', '+')
-                        concedes_dict_rule['wq_concede_guest'] = n_guest_rule
-                    concedes_dict['wq_concede_guest'] = concedes[7]
+                    concedes_dict_rule['wq_concede_home'] = concedes[1]
+                    concedes_dict_rule['wq_concede_guest'] = concedes[3]
+                    if pt is 3:
+                        concedes_dict['wq_concede_home'] = float(concedes[5]) - 1
+                        concedes_dict['wq_concede_guest'] = float(concedes[7]) - 1
+                    else:
+                        concedes_dict['wq_concede_guest'] = concedes[7]
+                        concedes_dict['wq_concede_home'] = float(concedes[5])
                 except:
                     concedes_dict_rule['wq_concede_home'] = ""
                     concedes_dict['wq_concede_home'] = ""
                     concedes_dict_rule['wq_concede_guest'] = ""
                     concedes_dict['wq_concede_guest'] = ""
-                # print(concedes_dict)
 # ---------------------------------------------------冠军----------------------------------------------------------------
                 kemps_dict = {}
                 try:
@@ -143,28 +132,14 @@ class LanqiuSpider(scrapy.Spider):
                 bureaus_dict_rule = {}
                 try:
                     bureaus = result['o']["ahfts"]["v"]
-                    # bureaus_dict_rule['wq_bureau_home'] = bureaus[1]
-                    home_rule = bureaus[1]
-                    if home_rule.startswith('+'):
-                        n_home_rule = home_rule.replace('+', '-')
-                        bureaus_dict_rule['wq_bureau_home'] = n_home_rule
-                    if home_rule.startswith('-'):
-                        n_home_rule = home_rule.replace('-', '+')
-                        bureaus_dict_rule['wq_bureau_home'] = n_home_rule
-                    else:
-                        bureaus_dict_rule['wq_bureau_home'] = home_rule
-                    bureaus_dict['wq_bureau_home'] = bureaus[5]
-                    # bureaus_dict_rule['wq_bureau_guest'] = bureaus[3]
-                    guest_rule = bureaus[3]
-                    if guest_rule.startswith('+'):
-                        n_guest_rule = guest_rule.replace('+', '-')
-                        bureaus_dict_rule['wq_bureau_guest'] = n_guest_rule
-                    if guest_rule.startswith('-'):
-                        n_guest_rule = guest_rule.replace('-', '+')
-                        bureaus_dict_rule['wq_bureau_guest'] = n_guest_rule
+                    bureaus_dict_rule['wq_bureau_home'] = bureaus[1]
+                    bureaus_dict_rule['wq_bureau_guest'] = bureaus[3]
+                    if pt is 3:
+                        bureaus_dict['wq_bureau_home'] = float(bureaus[5]) - 1
+                        bureaus_dict['wq_bureau_guest'] = float(bureaus[7]) - 1
                     else:
-                        bureaus_dict_rule['wq_bureau_guest'] = guest_rule
-                    bureaus_dict['wq_bureau_guest'] = bureaus[7]
+                        bureaus_dict['wq_bureau_home'] = bureaus[5]
+                        bureaus_dict['wq_bureau_guest'] = bureaus[7]
                 except:
                     bureaus_dict_rule['wq_bureau_home'] = ""
                     bureaus_dict['wq_bureau_home'] = ""
@@ -177,9 +152,13 @@ class LanqiuSpider(scrapy.Spider):
                 try:
                     total_numbers = result['o']["oufts"]["v"]
                     total_number_dict_rule['wq_total_number_big'] = total_numbers[1]
-                    total_number_dict['wq_total_number_big'] = total_numbers[5]
                     total_number_dict_rule['wq_total_number_small'] = total_numbers[3]
-                    total_number_dict['wq_total_number_small'] = total_numbers[7]
+                    if pt is 3:
+                        total_number_dict['wq_total_number_big'] = float(total_numbers[5]) - 1
+                        total_number_dict['wq_total_number_small'] = float(total_numbers[7]) - 1
+                    else:
+                        total_number_dict['wq_total_number_big'] = total_numbers[5]
+                        total_number_dict['wq_total_number_small'] = total_numbers[7]
                 except:
                     total_number_dict_rule['wq_total_number_big'] = ""
                     total_number_dict['wq_total_number_big'] = ""

+ 110 - 176
hg3535/spiders/zuqiu.py

@@ -6,6 +6,9 @@ import scrapy
 from scrapy.http import Request
 
 from .. items import Zuqiu
+# from scrapy.spidermiddlewares.httperror import HttpError
+# from twisted.internet.error import DNSLookupError
+# from twisted.internet.error import TimeoutError
 
 
 class ZuqiuSpider(scrapy.Spider):
@@ -24,7 +27,6 @@ class ZuqiuSpider(scrapy.Spider):
                     i) + '&sb=2&dc=null&pid=0'
                 yield scrapy.Request(url=url, callback=self.parse, meta={'pt': y})
 
-
     def parse(self, response):
         if response.text:
             try:
@@ -46,6 +48,7 @@ class ZuqiuSpider(scrapy.Spider):
                         if pt is 1:
                             url = "https://hg3535z.com/odds2/d/getamodds?eid="+game_id+"&iip=false&ubt=am&isp=false"
                             yield Request(url=url, callback=self.parse_each, meta={'pt': pt})
+
     def parse_each(self, response):
         # 球队进球数 大小
         try:
@@ -94,49 +97,20 @@ class ZuqiuSpider(scrapy.Spider):
 # 让球------------------------------------------------------------------------------------------------------------------
                     try:
                         concedes = data['o']['ah']['v']
-                        new_concedes = [concedes[i] for i in range(len(concedes)) if i % 2 == 1]
-                        concede_homes = [new_concedes[i] for i in range(len(new_concedes)) if i % 2 == 0]
-                        # concede_home_rule = [concede_homes[i] for i in range(len(concede_homes)) if i % 2 == 0]
-                        concede_home_rule = []
-                        for i in range(len(concede_homes)):
-                            if i % 2 is 0:
-                                home_rule = str(concede_homes[i])
-                                if home_rule.startswith('+'):
-                                    n_home_rule = home_rule.replace('+', '-')
-                                    concede_home_rule.append(n_home_rule)
-                                elif home_rule.startswith('-'):
-                                    n_home_rule = home_rule.replace('-', '+')
-                                    concede_home_rule.append(n_home_rule)
-                                else:
-                                    concede_home_rule.append(home_rule)
-                                # concede_homes[i]
-                                # concede_home
-                        if pt is 3:
-                            concede_home = [float(concede_homes[i]) - 1 for i in range(len(concede_homes)) if i % 2 is 1]
-                        else:
-                            concede_home = [concede_homes[i] for i in range(len(concede_homes)) if i % 2 is 1]
-
+                        new_concedes = [concedes[i] for i in range(len(concedes)) if i % 2 is 1]
+                        concede_homes = [new_concedes[i] for i in range(len(new_concedes)) if i % 2 is 0]
+                        concede_home_rule = [concede_homes[i] for i in range(len(concede_homes)) if i % 2 is 0]
+                        # concede_home
                         concede_guests = [new_concedes[i] for i in range(len(new_concedes)) if i % 2 is 1]
                         # concede_guest_rule
-                        # concede_guest_rule = [concede_guests[i] for i in range(len(concede_guests)) if
-                        #                       i % 2 == 0]
-                        # concede_guest
-                        concede_guest_rule = []
-                        for i in range(len(concede_guests)):
-                            if i % 2 is 0:
-                                guest_rule = str(concede_guests[i])
-                                if guest_rule.startswith('+'):
-                                    n_guest_rule = guest_rule.replace('+', '-')
-                                    concede_guest_rule.append(n_guest_rule)
-                                elif guest_rule.startswith('-'):
-                                    n_guest_rule = guest_rule.replace('-', '+')
-                                    concede_guest_rule.append(n_guest_rule)
-                                else:
-                                    concede_guest_rule.append(guest_rule)
+                        concede_guest_rule = [concede_guests[i] for i in range(len(concede_guests)) if
+                                              i % 2 == 0]
                         if pt is 3:
-                            concede_guest = [float(concede_guests[i]) -1 for i in range(len(concede_guests)) if i % 2 is 1]
+                            concede_guest = [round(float(concede_guests[i]) -1, 2) for i in range(len(concede_guests)) if i % 2 is 1]
+                            concede_home = [round(float(concede_homes[i]) - 1, 2) for i in range(len(concede_homes)) if i % 2 is 1]
                         else:
                             concede_guest = [concede_guests[i] for i in range(len(concede_guests)) if i % 2 is 1]
+                            concede_home = [concede_homes[i] for i in range(len(concede_homes)) if i % 2 is 1]
                     except:
                         concede_guest = ""
                         concede_guest_rule = ""
@@ -147,58 +121,26 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         half_concedes = data['o']['ah1st']['v']
                         new_half_concedes = [half_concedes[i] for i in range(len(half_concedes)) if i % 2 is 1]
-                        new_half_concede_homes = [new_half_concedes[i] for i in range(len(new_half_concedes)) if
-                                                  i % 2 is 0]
+                        new_half_concede_homes = [new_half_concedes[i] for i in range(len(new_half_concedes)) if i % 2 == 0]
                         # half_concede_home_rule
-                        # half_concede_home_rule = [new_half_concede_homes[i] for i in
-                        #                           range(len(new_half_concede_homes)) if i % 2 == 0]
-
-                        half_concede_home_rule = []
-                        for i in range(len(new_half_concede_homes)):
-                            if i % 2 == 0:
-                                home_rule = str(new_half_concede_homes[i])
-                                if home_rule.startswith('+'):
-                                    n_home_rule = home_rule.replace('+', '-')
-                                    half_concede_home_rule.append(n_home_rule)
-                                if home_rule.startswith('-'):
-                                    n_home_rule = home_rule.replace('-', '+')
-                                    half_concede_home_rule.append(n_home_rule)
-                                else:
-                                    half_concede_home_rule.append(home_rule)
+                        half_concede_home_rule = [new_half_concede_homes[i] for i in
+                                                  range(len(new_half_concede_homes)) if i % 2 == 0]
                         # concede_home
-                        if pt is 3:
-                            half_concede_home = [float(new_half_concede_homes[i]) - 1 for i in range(len(new_half_concede_homes)) if i % 2 is 1]
-                        else:
-                            half_concede_home = [new_half_concede_homes[i] for i in range(len(new_half_concede_homes)) if i % 2 is 1]
                         half_concede_guests = [new_half_concedes[i] for i in range(len(new_half_concedes)) if i % 2 is 1]
                         # concede_guest_rule
-                        # half_concede_guest_rule = [half_concede_guests[i] for i in
-                        #                            range(len(half_concede_guests)) if i % 2 == 0]
-                        half_concede_guest_rule = []
-                        for i in range(len(half_concede_guests)):
-                            if i % 2 == 0:
-                                guest_rule = str(half_concede_guests[i])
-                                if guest_rule.startswith('+'):
-                                    n_guest_rule = guest_rule.replace('+', '-')
-                                    half_concede_guest_rule.append(n_guest_rule)
-                                if guest_rule.startswith('-'):
-                                    n_guest_rule = guest_rule.replace('-', '+')
-                                    half_concede_guest_rule.append(n_guest_rule)
-                                else:
-                                    half_concede_guest_rule.append(guest_rule)
-                        # concede_guest
+                        half_concede_guest_rule = [half_concede_guests[i] for i in
+                                                   range(len(half_concede_guests)) if i % 2 == 0]
                         if pt is 3:
-                            half_concede_guest = [float(half_concede_guests[i]) -1  for i in range(len(half_concede_guests)) if
-                                                  i % 2 is 1]
+                            half_concede_home = [round(float(new_half_concede_homes[i]) - 1, 2) for i in range(len(new_half_concede_homes)) if i % 2 is 1]
+                            half_concede_guest = [round(float(half_concede_guests[i]) - 1, 2) for i in range(len(half_concede_guests)) if i % 2 is 1]
                         else:
-                            half_concede_guest = [half_concede_guests[i] for i in range(len(half_concede_guests)) if
-                                                  i % 2 is 1]
+                            half_concede_home = [new_half_concede_homes[i] for i in range(len(new_half_concede_homes)) if i % 2 is 1]
+                            half_concede_guest = [half_concede_guests[i] for i in range(len(half_concede_guests)) if i % 2 is 1]
                     except:
                         half_concede_home_rule = ""
                         half_concede_home = ""
                         half_concede_guest_rule = ""
                         half_concede_guest = ""
-
 # 全场大小size 进球大小---------------------------------------------------------------------------------------------------
                     try:
                         sizes = data['o']['ou']['v']
@@ -207,19 +149,16 @@ class ZuqiuSpider(scrapy.Spider):
                         # size_home_rule
                         size_home_rule = [size_homes[i] for i in range(len(size_homes)) if i % 2 is 0]
                         # size_home
-                        if pt is 3:
-                            size_home = [float(size_homes[i]) - 1 for i in range(len(size_homes)) if i % 2 is 1]
-                        else:
-                            size_home = [size_homes[i] for i in range(len(size_homes)) if i % 2 is 1]
-
                         size_guests = [new_sizes[i] for i in range(len(new_sizes)) if i % 2 is 1]
                         # size_guest_rule
                         size_guest_rule = [size_guests[i] for i in range(len(size_guests)) if i % 2 is 0]
                         # csize_guest
                         if pt is 3:
-                            size_guest = [float(size_guests[i]) - 1 for i in range(len(size_guests)) if i % 2 is 1]
+                            size_guest = [round(float(size_guests[i]) - 1, 2) for i in range(len(size_guests)) if i % 2 is 1]
+                            size_home = [round(float(size_homes[i]) - 1, 2) for i in range(len(size_homes)) if i % 2 is 1]
                         else:
                             size_guest = [size_guests[i] for i in range(len(size_guests)) if i % 2 is 1]
+                            size_home = [size_homes[i] for i in range(len(size_homes)) if i % 2 is 1]
                     except:
                         size_guest = ""
                         size_guest_rule = ""
@@ -234,22 +173,21 @@ class ZuqiuSpider(scrapy.Spider):
                         # size_home_rule
                         half_size_home_rule = [half_size_homes[i] for i in range(len(half_size_homes)) if
                                                i % 2 is 0]
-                        # half_size_home 主队
-                        if pt is 3:
-                            half_size_home = [float(half_size_homes[i]) -1 for i in range(len(half_size_homes)) if i % 2 is 1]
-                        else:
-                            half_size_home = [half_size_homes[i] for i in range(len(half_size_homes)) if i % 2 is 1]
+
                         half_size_guests = [new_half_sizes[i] for i in range(len(new_half_sizes)) if i % 2 is 1]
                         # half_size_guest_rule 客队
                         half_size_guest_rule = [half_size_guests[i] for i in range(len(half_size_guests)) if
                                                 i % 2 is 0]
                         # half_size_guest
                         if pt is 3:
-                            half_size_guest = [float(half_size_guests[i]) - 1 for i in range(len(half_size_guests)) if
+                            half_size_guest = [round(float(half_size_guests[i]) - 1, 2) for i in range(len(half_size_guests)) if
                                                i % 2 is 1]
+                            half_size_home = [round(float(half_size_homes[i]) - 1, 2) for i in range(len(half_size_homes)) if
+                                              i % 2 is 1]
                         else:
                             half_size_guest = [half_size_guests[i] for i in range(len(half_size_guests)) if
                                                i % 2 is 1]
+                            half_size_home = [half_size_homes[i] for i in range(len(half_size_homes)) if i % 2 is 1]
                     except:
                         half_size_guest = ""
                         half_size_guest_rule = ""
@@ -261,10 +199,10 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         total_goals = data['o']['tg']['v']
                         new_total_goals = [total_goals[i] for i in range(len(total_goals)) if i % 2 is 1]
-                        total_goal["total_goal_zero"] = float(new_total_goals[0]) - 1
-                        total_goal["total_goal_two"] = float(new_total_goals[1]) - 1
-                        total_goal["total_goal_four"] = float(new_total_goals[2]) - 1
-                        total_goal["total_goal_seven"] = float(new_total_goals[3]) - 1
+                        total_goal["total_goal_zero"] = round(float(new_total_goals[0]) - 1, 2)
+                        total_goal["total_goal_two"] = round(float(new_total_goals[1]) - 1, 2)
+                        total_goal["total_goal_four"] = round(float(new_total_goals[2]) - 1, 2)
+                        total_goal["total_goal_seven"] = round(float(new_total_goals[3]) - 1, 2)
                     except:
                         total_goal["total_goal_zero"] = ""
                         total_goal["total_goal_two"] = ""
@@ -275,10 +213,10 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         half_total_goals = data['o']['tg1st']['v']
                         new_half_total_goals = [half_total_goals[i] for i in range(len(half_total_goals)) if i % 2 is 1]
-                        total_goal["half_total_goal_zero"] = float(new_half_total_goals[0]) - 1
-                        total_goal["half_total_goal_one"] = float(new_half_total_goals[1]) - 1
-                        total_goal["half_total_goal_two"] = float(new_half_total_goals[2]) - 1
-                        total_goal["half_total_goal_three"] = float(new_half_total_goals[3]) - 1
+                        total_goal["half_total_goal_zero"] = round(float(new_half_total_goals[0]) - 1, 2)
+                        total_goal["half_total_goal_one"] = round(float(new_half_total_goals[1]) - 1, 2)
+                        total_goal["half_total_goal_two"] = round(float(new_half_total_goals[2]) - 1, 2)
+                        total_goal["half_total_goal_three"] = round(float(new_half_total_goals[3]) - 1, 2)
                     except:
                         total_goal["half_total_goal_zero"] = ""
                         total_goal["half_total_goal_one"] = ""
@@ -295,7 +233,7 @@ class ZuqiuSpider(scrapy.Spider):
                         half_fulls = data['o']['hf']['v']
                         new_half_fulls = [half_fulls[i] for i in range(len(half_fulls)) if i % 2 is 1]
                         for index, value in enumerate(new_lists):
-                            half_full[value] = float(new_half_fulls[index]) - 1
+                            half_full[value] = round(float(new_half_fulls[index]) - 1, 2)
                     except:
                         for index, value in enumerate(new_lists):
                             half_full[value] = ""
@@ -305,8 +243,8 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         first_balls = data['o']['ttslast']['v']
                         first_ball = [first_balls[i] for i in range(len(first_balls)) if i % 2 is 1]
-                        first_last_ball['first_ball_home'] = float(first_ball[0]) - 1
-                        first_last_ball['first_ball_guest'] = float(first_ball[1]) - 1
+                        first_last_ball['first_ball_home'] = round(float(first_ball[0]) - 1, 2)
+                        first_last_ball['first_ball_guest'] = round(float(first_ball[1]) - 1, 2)
                     except:
                         pass
 
@@ -315,9 +253,9 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         last_balls = data['o']['tts1st']['v']
                         last_ball = [last_balls[i] for i in range(len(last_balls)) if i % 2 is 1]
-                        first_last_ball['last_ball_home'] = float(last_ball[0]) - 1
-                        first_last_ball['last_ball_guest'] = float(last_ball[1]) - 1
-                        first_last_ball['not_ball'] = float(last_ball[2]) - 1
+                        first_last_ball['last_ball_home'] = round(float(last_ball[0]) - 1, 2)
+                        first_last_ball['last_ball_guest'] = round(float(last_ball[1]) - 1, 2)
+                        first_last_ball['not_ball'] = round(float(last_ball[2]) - 1, 2)
                     except:
                         pass
 
@@ -326,9 +264,9 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         capots = data['o']['1x2']['v']
                         new_capots = [capots[i] for i in range(len(capots)) if i % 2 is 1]
-                        capot_home = float(new_capots[0]) - 1
-                        capot_guest = float(new_capots[1]) - 1
-                        capot_dogfall = float(new_capots[2]) - 1
+                        capot_home = round(float(new_capots[0]) - 1, 2)
+                        capot_guest = round(float(new_capots[1]) - 1, 2)
+                        capot_dogfall = round(float(new_capots[2]) - 1, 2)
                     except:
                         capot_home = ""
                         capot_guest = ""
@@ -338,9 +276,9 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         half_capots = data['o']['1x21st']['v']
                         new_half_capots = [half_capots[i] for i in range(len(half_capots)) if i % 2 is 1]
-                        half_capot_home = float(new_half_capots[0]) - 1
-                        half_capot_guest = float(new_half_capots[1]) - 1
-                        half_capot_dogfall = float(new_half_capots[2]) - 1
+                        half_capot_home = round(float(new_half_capots[0]) - 1, 2)
+                        half_capot_guest = round(float(new_half_capots[1]) - 1, 2)
+                        half_capot_dogfall = round(float(new_half_capots[2]) - 1, 2)
                     except:
                         half_capot_home = ""
                         half_capot_guest = ""
@@ -350,8 +288,12 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         odd_evens = data['o']['oe']['v']
                         new_odd_evens = [odd_evens[i] for i in range(len(odd_evens)) if i % 2 is 1]
-                        odd_even_odd = new_odd_evens[0]
-                        odd_even_even = new_odd_evens[1]
+                        if pt is 3:
+                            odd_even_odd = round(float(new_odd_evens[0]) - 1, 2)
+                            odd_even_even = round(float(new_odd_evens[1]) - 1, 2)
+                        else:
+                            odd_even_odd = round(float(new_odd_evens[0]), 2)
+                            odd_even_even = round(float(new_odd_evens[1]), 2)
                     except:
                         odd_even_odd = ""
                         odd_even_even = ""
@@ -359,8 +301,12 @@ class ZuqiuSpider(scrapy.Spider):
                     try:
                         half_odd_evens = data['o']['oe1st']['v']
                         new_half_odd_evens = [half_odd_evens[i] for i in range(len(half_odd_evens)) if i % 2 is 1]
-                        half_odd_even_odd = new_half_odd_evens[0]
-                        half_odd_even_even = new_half_odd_evens[1]
+                        if pt is 3:
+                            half_odd_even_odd = round(float(new_half_odd_evens[0]) - 1, 2)
+                            half_odd_even_even = round(float(new_half_odd_evens[1]) - 1, 2)
+                        else:
+                            half_odd_even_odd = new_half_odd_evens[0]
+                            half_odd_even_even = new_half_odd_evens[1]
                     except:
                         half_odd_even_odd = ""
                         half_odd_even_even = ""
@@ -384,16 +330,16 @@ class ZuqiuSpider(scrapy.Spider):
                         # 主队bodan_home
                         bodan_home = [new_bodan[i] for i in range(len(new_bodan)) if i % 2 is 0]
                         for index, t in enumerate(one_list):
-                            bodan_data[t] = float(bodan_home[index]) - 1
+                            bodan_data[t] = round(float(bodan_home[index]) - 1, 2)
                         # 客队bodan_guest
                         bodan_guest = [new_bodan[i] for i in range(len(new_bodan)) if i % 2 is 1]
                         for y, z in enumerate(two_list):
-                            bodan_data[z] = float(bodan_guest[y]) - 1
+                            bodan_data[z] = round(float(bodan_guest[y]) - 1, 2)
                         bodan_dogfall = new_bodans[-7:-2]
                         for a, b in enumerate(three_list):
-                            bodan_data[b] = float(bodan_dogfall[a]) - 1
+                            bodan_data[b] = round(float(bodan_dogfall[a]) - 1, 2)
                         # 其他bodan_other
-                        bodan_data['bodanother'] = float(new_bodans[-1]) - 1
+                        bodan_data['bodanother'] = round(float(new_bodans[-1]) - 1, 2)
                     except:
                         pass
 
@@ -411,101 +357,89 @@ class ZuqiuSpider(scrapy.Spider):
                         half_bodan_home = [halfbodan[i] for i in range(len(halfbodan)) if i % 2 is 0]
                         # 队1
                         for index, t in enumerate(new_one):
-                            bodan_data[t] = float(half_bodan_home[index]) - 1
+                            bodan_data[t] = round(float(half_bodan_home[index]) - 1, 2)
                         # 队2
                         half_bodan_guest = [halfbodan[i] for i in range(len(halfbodan)) if i % 2 is 1]
                         for y, z in enumerate(new_two):
-                            bodan_data[z] = float(half_bodan_guest[y]) - 1
+                            bodan_data[z] = round(float(half_bodan_guest[y]) - 1, 2)
                         # 和/平
                         half_bodan_dogfall = new_half_bodans[-6:-2]
                         for a, b in enumerate(new_three):
-                            bodan_data[b] = float(half_bodan_dogfall[a]) - 1
+                            bodan_data[b] = round(float(half_bodan_dogfall[a]) - 1, 2)
                         # 其他
-                        bodan_data['halfbodanother'] = float(new_half_bodans[-1]) - 1
+                        bodan_data['halfbodanother'] = round(float(new_half_bodans[-1]) - 1, 2)
                     except:
                         pass
-                if new_data == 12:
+                if new_data is 12:
                     try:
                         home_data = data['o']['ou']['v']
-
                         # 球队进球 大条件
-                        home_size_big_rule = home_data[1]
-                        full_dict_rule['home_size_big'] = home_size_big_rule
-
-                        # 球队进球大赔率
-                        home_size_big = home_data[5]
-                        full_dict['home_size_big'] = home_size_big
-
+                        full_dict_rule['home_size_big'] = home_data[1]
                         # 球队进球小条件
-                        home_size_small_rule = home_data[3]
-                        full_dict_rule['home_size_small'] = home_size_small_rule
+                        full_dict_rule['home_size_small'] = home_data[3]
 
-                        # 球队进球小赔率
-                        home_size_small = home_data[7]
-                        full_dict['home_size_small'] = home_size_small
+                        if pt is 3:
+                            # 球队进球大赔率
+                            full_dict['home_size_big'] = round(float(home_data[5]) - 1, 2)
+                            # 球队进球小赔率
+                            full_dict['home_size_small'] = round(float(home_data[7]) - 1, 2)
+                        else:
+                            # 球队进球大赔率
+                            full_dict['home_size_big'] = home_data[5]
+                            # 球队进球小赔率
+                            full_dict['home_size_small'] = home_data[7]
                     except:
                         full_dict['home_size_small'] = ""
                         full_dict_rule['home_size_small'] = ""
-
                         full_dict['home_size_big'] = ""
                         full_dict_rule['home_size_big'] = ""
                     try:
                         half_home_data = data['o']['ou1st']['v']
+                        half_dict_rule['half_home_size_big'] = half_home_data[1]
+                        half_dict_rule['half_home_size_small'] = half_home_data[3]
 
-                        half_home_size_big_rule = half_home_data[1]
-                        half_dict_rule['half_home_size_big'] = half_home_size_big_rule
-
-                        half_home_size_big = half_home_data[5]
-                        half_dict['half_home_size_big'] = half_home_size_big
-
-                        half_home_size_small_rule = half_home_data[3]
-                        half_dict_rule['half_home_size_small'] = half_home_size_small_rule
-
-                        half_home_size_small = half_home_data[7]
-                        half_dict['half_home_size_small'] = half_home_size_small
+                        if pt is 3:
+                            half_dict['half_home_size_big'] = round(float(half_home_data[5]) - 1, 2)
+                            half_dict['half_home_size_small'] = round(float(half_home_data[7]) - 1, 2)
+                        else:
+                            half_home_size_big = half_home_data[5]
+                            half_dict['half_home_size_big'] = half_home_size_big
+                            half_home_size_small = half_home_data[7]
+                            half_dict['half_home_size_small'] = half_home_size_small
 
                     except:
                         half_dict_rule['half_home_size_big'] = ""
                         half_dict['half_home_size_big'] = ""
-
                         half_dict_rule['half_home_size_small'] = ""
                         half_dict['half_home_size_small'] = ""
 
-                if new_data == 13:
+                if new_data is 13:
                     try:
                         guest_data = data['o']['ou']['v']
+                        full_dict_rule['guest_size_big'] = guest_data[1]
+                        full_dict_rule['guest_size_small'] = guest_data[3]
 
-                        guest_size_big_rule = guest_data[1]
-                        full_dict_rule['guest_size_big'] = guest_size_big_rule
-
-                        guest_size_big = guest_data[5]
-                        full_dict['guest_size_big'] = guest_size_big
-
-                        guest_size_small_rule = guest_data[3]
-                        full_dict_rule['guest_size_small'] = guest_size_small_rule
-
-                        guest_size_small = guest_data[7]
-                        full_dict['guest_size_small'] = guest_size_small
+                        if pt is 3:
+                            full_dict['guest_size_big'] = round(float(guest_data[5]) - 1, 2)
+                            full_dict['guest_size_small'] = round(float(guest_data[7]) - 1, 2)
+                        else:
+                            full_dict['guest_size_big'] = guest_data[5]
+                            full_dict['guest_size_small'] = guest_data[7]
                     except:
                         full_dict_rule['guest_size_big'] = ""
                         full_dict['guest_size_big'] = ""
-
                         full_dict_rule['guest_size_small'] = ""
                         full_dict['guest_size_small'] = ''
                     try:
                         half_guest_data = data['o']['ou1st']['v']
-
-                        half_guest_size_big_rule = half_guest_data[1]
-                        half_dict_rule['half_guest_size_big'] = half_guest_size_big_rule
-
-                        half_guest_size_big = half_guest_data[5]
-                        half_dict['half_guest_size_big'] = half_guest_size_big
-
-                        half_guest_size_small_rule = half_guest_data[3]
-                        half_dict_rule['half_guest_size_small'] = half_guest_size_small_rule
-
-                        half_guest_size_small = half_guest_data[7]
-                        half_dict['half_guest_size_small'] = half_guest_size_small
+                        half_dict_rule['half_guest_size_big'] = half_guest_data[1]
+                        half_dict_rule['half_guest_size_small'] = half_guest_data[3]
+                        if pt is 3:
+                            half_dict['half_guest_size_big'] = round(float(half_guest_data[5]) - 1, 2)
+                            half_dict['half_guest_size_small'] = round(float(half_guest_data[7]) - 1, 2)
+                        else:
+                            half_dict['half_guest_size_big'] = half_guest_data[5]
+                            half_dict['half_guest_size_small'] = half_guest_data[7]
                     except:
                         half_dict_rule['half_guest_size_big'] = ""
                         half_dict['half_guest_size_big'] = ""

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác