abstract-webtools 0.1.6.141__tar.gz → 0.1.6.143__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/PKG-INFO +1 -1
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/setup.py +1 -1
- abstract_webtools-0.1.6.141/src/abstract_webtools/managers/seleniumManager.py → abstract_webtools-0.1.6.143/src/abstract_webtools/managers/seleneumManager.py +6 -9
- abstract_webtools-0.1.6.143/src/abstract_webtools/managers/sslManager.py +12 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools.egg-info/PKG-INFO +1 -1
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools.egg-info/SOURCES.txt +1 -1
- abstract_webtools-0.1.6.141/src/abstract_webtools/managers/sslManager.py +0 -21
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/README.md +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/pyproject.toml +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/setup.cfg +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/abstract_usurpit.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/abstract_webtools.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/big_user_agent_list.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/domain_identifier.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/extention_list.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/find_dirs.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/k2s_downloader.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/main.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/allss//.py" +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/cipherManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/clownworld/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/clownworld/get_bolshevid_video.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/crawlManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/crawlmgr2.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/curlMgr.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/domainManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/dynamicRateLimiter.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/get_test.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/linkManager/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/linkManager/linkManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/middleManager/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/middleManager/imports.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/middleManager/src/UnifiedWebManage3r.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/middleManager/src/UnifiedWebManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/middleManager/src/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/middleManager/src/legacy_tools.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/mySocketClient.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/networkManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/requestManager/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/requestManager/requestManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/soupManager/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/soupManager/asoueces.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/soupManager/soupManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/tlsAdapter.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/urlManager/__init__.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/urlManager/urlManager (Copy).py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/urlManager/urlManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/userAgentManager.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/videoDownloader.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/managers/videoDownloader2.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/soup_gui.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/url_grabber.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/url_grabber_new.py +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools.egg-info/dependency_links.txt +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools.egg-info/requires.txt +0 -0
- {abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: abstract_webtools
|
3
|
-
Version: 0.1.6.
|
3
|
+
Version: 0.1.6.143
|
4
4
|
Summary: Abstract Web Tools is a Python package that provides various utility functions for web scraping tasks. It is built on top of popular libraries such as `requests`, `BeautifulSoup`, and `urllib3` to simplify the process of fetching and parsing web content.
|
5
5
|
Home-page: https://github.com/AbstractEndeavors/abstract_essentials/tree/main/abstract_webtools
|
6
6
|
Author: putkoff
|
@@ -4,7 +4,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
4
4
|
long_description = fh.read()
|
5
5
|
setuptools.setup(
|
6
6
|
name='abstract_webtools',
|
7
|
-
version='0.1.6.
|
7
|
+
version='0.1.6.143',
|
8
8
|
author='putkoff',
|
9
9
|
author_email='partners@abstractendeavors.com',
|
10
10
|
description='Abstract Web Tools is a Python package that provides various utility functions for web scraping tasks. It is built on top of popular libraries such as `requests`, `BeautifulSoup`, and `urllib3` to simplify the process of fetching and parsing web content.',
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import os
|
2
|
-
from ..abstract_webtools import
|
2
|
+
#from ..abstract_webtools import urlManager
|
3
3
|
from .urlManager import *
|
4
4
|
from urllib.parse import urlparse
|
5
5
|
from abstract_utilities import *
|
@@ -7,7 +7,7 @@ from selenium import webdriver
|
|
7
7
|
from selenium.webdriver.chrome.options import Options
|
8
8
|
import logging
|
9
9
|
import urllib3
|
10
|
-
|
10
|
+
from abstract_security import get_env_value
|
11
11
|
# Suppress urllib3 warnings and debug logs
|
12
12
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
13
13
|
logging.getLogger("urllib3").setLevel(logging.WARNING)
|
@@ -15,13 +15,10 @@ logging.getLogger("urllib3").setLevel(logging.WARNING)
|
|
15
15
|
# Suppress Selenium logs
|
16
16
|
logging.getLogger("selenium").setLevel(logging.WARNING)
|
17
17
|
|
18
|
-
import os
|
19
|
-
from selenium import webdriver
|
20
|
-
from selenium.webdriver.chrome.options import Options
|
21
18
|
|
22
19
|
# Setup Chrome options
|
23
20
|
chrome_options = Options()
|
24
|
-
|
21
|
+
chrome_options.binary_location = get_env_value('CHROME_BINARY')
|
25
22
|
chrome_options.add_argument("--headless") # Run in headless mode
|
26
23
|
chrome_options.add_argument("--no-sandbox")
|
27
24
|
chrome_options.add_argument("--disable-dev-shm-usage")
|
@@ -31,6 +28,7 @@ chrome_options.add_argument("--disable-extensions")
|
|
31
28
|
chrome_options.add_argument("--remote-debugging-port=9222")
|
32
29
|
|
33
30
|
|
31
|
+
|
34
32
|
class SingletonMeta(type):
|
35
33
|
_instances = {}
|
36
34
|
def __call__(cls, *args, **kwargs):
|
@@ -78,8 +76,8 @@ class seleniumManager(metaclass=SingletonMeta):
|
|
78
76
|
|
79
77
|
def get_driver(self, url):
|
80
78
|
if url and url not in self.drivers:
|
81
|
-
chrome_options = Options()
|
82
|
-
chrome_options.add_argument("--headless")
|
79
|
+
# chrome_options = Options()
|
80
|
+
# chrome_options.add_argument("--headless")
|
83
81
|
driver = webdriver.Chrome(options=chrome_options)
|
84
82
|
self.drivers[url] = driver
|
85
83
|
driver.get(url)
|
@@ -116,4 +114,3 @@ def get_selenium_source(url):
|
|
116
114
|
finally:
|
117
115
|
# Don't quit the driver unless you're done with all interactions
|
118
116
|
pass
|
119
|
-
|
@@ -0,0 +1,12 @@
|
|
1
|
+
from ..abstract_webtools import *
|
2
|
+
class SSLManager:
|
3
|
+
def __init__(self, ciphers=None, ssl_options=None, certification=None):
|
4
|
+
self.ciphers = ciphers or CipherManager().ciphers_string
|
5
|
+
self.ssl_options = ssl_options or self.get_default_ssl_settings()
|
6
|
+
self.certification = certification or ssl.CERT_REQUIRED
|
7
|
+
self.ssl_context = self.get_context()
|
8
|
+
def get_default_ssl_settings(self):
|
9
|
+
return ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_COMPRESSION
|
10
|
+
def get_context(self):
|
11
|
+
return ssl_.create_urllib3_context(ciphers=self.ciphers, cert_reqs=self.certification, options=self.ssl_options)
|
12
|
+
|
{abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools.egg-info/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: abstract_webtools
|
3
|
-
Version: 0.1.6.
|
3
|
+
Version: 0.1.6.143
|
4
4
|
Summary: Abstract Web Tools is a Python package that provides various utility functions for web scraping tasks. It is built on top of popular libraries such as `requests`, `BeautifulSoup`, and `urllib3` to simplify the process of fetching and parsing web content.
|
5
5
|
Home-page: https://github.com/AbstractEndeavors/abstract_essentials/tree/main/abstract_webtools
|
6
6
|
Author: putkoff
|
@@ -30,7 +30,7 @@ src/abstract_webtools/managers/dynamicRateLimiter.py
|
|
30
30
|
src/abstract_webtools/managers/get_test.py
|
31
31
|
src/abstract_webtools/managers/mySocketClient.py
|
32
32
|
src/abstract_webtools/managers/networkManager.py
|
33
|
-
src/abstract_webtools/managers/
|
33
|
+
src/abstract_webtools/managers/seleneumManager.py
|
34
34
|
src/abstract_webtools/managers/sslManager.py
|
35
35
|
src/abstract_webtools/managers/tlsAdapter.py
|
36
36
|
src/abstract_webtools/managers/userAgentManager.py
|
@@ -1,21 +0,0 @@
|
|
1
|
-
from ..abstract_webtools import *
|
2
|
-
class SSLManager:
|
3
|
-
def __init__(self, ciphers=None, ssl_options=None, certification=None):
|
4
|
-
self.ciphers = ciphers or CipherManager().ciphers_string
|
5
|
-
self.ssl_options = ssl_options or self.get_default_ssl_settings()
|
6
|
-
self.certification = certification or ssl.CERT_REQUIRED
|
7
|
-
self.ssl_context = self.get_context()
|
8
|
-
def get_default_ssl_settings(self):
|
9
|
-
return ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_COMPRESSION
|
10
|
-
def get_context(self):
|
11
|
-
return ssl_.create_urllib3_context(ciphers=self.ciphers, cert_reqs=self.certification, options=self.ssl_options)
|
12
|
-
|
13
|
-
class SSLManagerSingleton:
|
14
|
-
_instance = None
|
15
|
-
@staticmethod
|
16
|
-
def get_instance(ciphers=None, ssl_options_list=None, certification=None):
|
17
|
-
if SSLManagerSingleton._instance is None:
|
18
|
-
SSLManagerSingleton._instance = SSLManager(ciphers=ciphers, ssl_options_list=ssl_options_list, certification=certification)
|
19
|
-
elif SSLManagerSingleton._instance.cipher_manager.ciphers_string != ciphers or SSLManagerSingleton._instance.ssl_options_list !=ssl_options_list or SSLManagerSingleton._instance.certification !=certification:
|
20
|
-
SSLManagerSingleton._instance = SSLManager(ciphers=ciphers, ssl_options_list=ssl_options_list, certification=certification)
|
21
|
-
return SSLManagerSingleton._instance
|
File without changes
|
File without changes
|
File without changes
|
{abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/extention_list.py
RENAMED
File without changes
|
{abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/find_dirs.py
RENAMED
File without changes
|
{abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/k2s_downloader.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/soup_gui.py
RENAMED
File without changes
|
{abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/url_grabber.py
RENAMED
File without changes
|
{abstract_webtools-0.1.6.141 → abstract_webtools-0.1.6.143}/src/abstract_webtools/url_grabber_new.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|