Эх сурвалжийг харах

Replace cloudscraper with cfscrape

JoostSijm 5 жил өмнө
parent
commit
185f5144cb

+ 22 - 22
rival_regions_wrapper/client.py

@@ -3,6 +3,7 @@
 Client module
 Client module
 """
 """
 
 
+import sys
 import logging
 import logging
 import re
 import re
 import time
 import time
@@ -10,7 +11,7 @@ from datetime import datetime
 import json
 import json
 
 
 import requests
 import requests
-import cloudscraper
+import cfscrape
 from webbot.webbot import Browser
 from webbot.webbot import Browser
 
 
 
 
@@ -112,7 +113,7 @@ class Client:
             if self.login_method not in ["g", "google", "v", "vk", "f", "facebook"]:
             if self.login_method not in ["g", "google", "v", "vk", "f", "facebook"]:
                 raise RRClientException("Not a valid login method.")
                 raise RRClientException("Not a valid login method.")
 
 
-            auth_text = requests.get("http://rivalregions.com").text
+            auth_text = requests.get("https://rivalregions.com").text
             web = Browser(showWindow=self.show_window)
             web = Browser(showWindow=self.show_window)
 
 
             method_dict = {
             method_dict = {
@@ -128,7 +129,7 @@ class Client:
                 web = method_dict[self.login_method](web, auth_text)
                 web = method_dict[self.login_method](web, auth_text)
             else:
             else:
                 LOGGER.info('Invallid loggin method "%s"', self.login_method)
                 LOGGER.info('Invallid loggin method "%s"', self.login_method)
-                exit()
+                sys.exit()
 
 
             LOGGER.info('Get cookie')
             LOGGER.info('Get cookie')
             phpsessid = web.get_cookie('PHPSESSID')
             phpsessid = web.get_cookie('PHPSESSID')
@@ -143,22 +144,24 @@ class Client:
             LOGGER.info('closing login tab')
             LOGGER.info('closing login tab')
             web.close_current_tab()
             web.close_current_tab()
 
 
-        # old
-        self.session = requests.Session()
         # new to bypass cloudflare
         # new to bypass cloudflare
-#        self.session = cloudscraper.CloudScraper(
-#            browser={'browser': 'chrome', 'mobile': False},
-#            # debug=False
-#            debug=True
-#        )
-        # not required
-        self.session.headers.update({'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64)' \
-            'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'})
+        self.session = cfscrape.CloudflareScraper()
+        # cloudscraper
+        # self.session = cloudscraper.CloudScraper(
+        #     browser={'browser': 'chrome', 'mobile': False},
+        #     interpreter='nodejs',
+        #     # debug=False
+        #     debug=True
+        # )
+        # old
+        # self.session = requests.Session()
+        # self.session.headers.update({'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64)' \
+        #     'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'})
         self.cookie = cookie
         self.cookie = cookie
         self.session.cookies.set(**cookie)
         self.session.cookies.set(**cookie)
 
 
         LOGGER.info('set the var_c')
         LOGGER.info('set the var_c')
-        response = self.session.get('http://rivalregions.com/#overview')
+        response = self.session.get('https://rivalregions.com/#overview')
         lines = response.text.split("\n")
         lines = response.text.split("\n")
         for line in lines:
         for line in lines:
             if re.match("(.*)var c_html(.*)", line):
             if re.match("(.*)var c_html(.*)", line):
@@ -291,7 +294,7 @@ class Client:
 
 
         if self.session:
         if self.session:
             response = self.session.get(
             response = self.session.get(
-                url='http://rivalregions.com/{}'.format(path),
+                url='https://rivalregions.com/{}'.format(path),
                 params=params
                 params=params
             )
             )
             if "Session expired, please, reload the page" in response.text:
             if "Session expired, please, reload the page" in response.text:
@@ -308,12 +311,9 @@ class Client:
         data['c'] = self.var_c
         data['c'] = self.var_c
         if self.session:
         if self.session:
             response = self.session.post(
             response = self.session.post(
-                "http://rivalregions.com/{}".format(path),
+                "https://rivalregions.com/{}".format(path),
                 data=data
                 data=data
             )
             )
-            print(response.headers)
-            print(response.text)
-            print(response.status_code)
             if "Session expired, please, reload the page" in response.text:
             if "Session expired, please, reload the page" in response.text:
                 raise SessionExpireException()
                 raise SessionExpireException()
         else:
         else:
@@ -324,13 +324,13 @@ class Client:
     def send_chat(self, language, message):
     def send_chat(self, language, message):
         """send chat message"""
         """send chat message"""
         if self.session:
         if self.session:
-            response = self.session.get("http://rivalregions.com/#overview")
+            response = self.session.get("https://rivalregions.com/#overview")
             if "Session expired, please, reload the page" in response.text:
             if "Session expired, please, reload the page" in response.text:
                 raise SessionExpireException()
                 raise SessionExpireException()
             web = Browser(showWindow=self.show_window)
             web = Browser(showWindow=self.show_window)
-            web.go_to('http://rivalregions.com/')
+            web.go_to('https://rivalregions.com/')
             web.add_cookie(self.get_cookie(self.username))
             web.add_cookie(self.get_cookie(self.username))
-            web.go_to('http://rivalregions.com/#slide/chat/lang_{}'.format(language))
+            web.go_to('https://rivalregions.com/#slide/chat/lang_{}'.format(language))
             web.refresh()
             web.refresh()
             time.sleep(2)
             time.sleep(2)
             web.type(message, id='message')
             web.type(message, id='message')