Skip to content

Commit 777b08e

Browse files
authored
Merge pull request #70 from my-dev-app/fix/invalid_request_data
Fix/invalid request data
2 parents cff511a + 604621f commit 777b08e

File tree

5 files changed

+27
-26
lines changed

5 files changed

+27
-26
lines changed

.vscode/launch.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
"configurations": [
77
{
88
"name": "Start: Example",
9-
"type": "python",
9+
"type": "debugpy",
1010
"request": "launch",
11-
"program": "${workspaceFolder}/example.py",
11+
"program": "${workspaceFolder}/ipython_config.py",
1212
"console": "integratedTerminal",
1313
"justMyCode": true
1414
},
1515
{
1616
"name": "Test: Pytest",
17-
"type": "python",
17+
"type": "debugpy",
1818
"request": "launch",
1919
"module": "pytest",
2020
"justMyCode": true

aproxyrelay/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ async def _main(self) -> Queue:
8888
if self.proxies.qsize() > 0:
8989
await self.process_targets()
9090
else:
91-
self.logger.error('Could not establish any available proxy! Please try again later.')
91+
self.logger.error('[aProxyRelay] Could not establish any available proxy! Please try again later.')
9292
return self._queue_result
9393

9494
def start(self) -> Queue:
@@ -99,13 +99,13 @@ def start(self) -> Queue:
9999
Queue: A queue containing the scraped data from the API.
100100
"""
101101
self.started = datetime.now(UTC)
102-
self.logger.info(f'Started proxy relay at {self.started} ... Please wait ...!')
102+
self.logger.info(f'[aProxyRelay] Started proxy relay at {self.started} ... Please wait ...!')
103103

104104
loop = get_event_loop()
105105
loop.set_debug(self.debug)
106106
results = loop.run_until_complete(gather(self._main()))
107107
result = results.pop()
108108

109-
self.logger.info(f'Data scraped! Took {datetime.now(UTC) - self.started}, enjoy!')
109+
self.logger.info(f'[aProxyRelay] Data scraped! Took {datetime.now(UTC) - self.started}, enjoy!')
110110

111111
return result

aproxyrelay/core.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ async def get_proxies(self) -> None:
5454
"""
5555
Asynchronously fill the self.proxies queue with fresh proxies.
5656
"""
57-
self.logger.info('Initializing parsers ...')
57+
self.logger.info('[aProxyRelay] Initializing parsers ...')
5858
ggs = []
5959
scrapes = []
6060
for item in proxy_list:
61-
self.logger.info(f'Loading: {item["parser"].__name__}')
61+
self.logger.info(f'[aProxyRelay] Loading: {item["parser"].__name__}')
6262
parser = item['parser']
6363
for zone in self.zones:
6464
url = await parser.format_url(url=item['url'], zone=zone)
@@ -68,34 +68,32 @@ async def get_proxies(self) -> None:
6868
scrapes.append(url)
6969
ggs = list(set(ggs))
7070
scrapes = list(set(scrapes))
71-
self.logger.info(f'Parsers loaded: GG: {len(ggs)}, Other: {len(scrapes)}, Total: {len(ggs + scrapes)} ...')
71+
self.logger.info(f'[aProxyRelay] Parsers loaded: GG: {len(ggs)}, Other: {len(scrapes)}, Total: {len(ggs + scrapes)} ...')
7272

7373
if self.scrape:
7474
async with ClientSession(conn_timeout=self.timeout) as session:
7575
await self._fetch_proxy_page(scrapes, session)
76-
self.logger.info(f'Scraper: Found {self._queue_filter.qsize()} competent proxy servers')
76+
self.logger.info(f'[aProxyRelay] Scraper: Found {self._queue_filter.qsize()} competent proxy servers')
7777
else:
78-
self.logger.info('Scraper: Skip discovery of new proxy servers ...')
78+
self.logger.info('[aProxyRelay] Scraper: Skip discovery of new proxy servers ...')
7979

8080
if self.filter and self.scrape:
81-
self.logger.info(
82-
f'Validating: Proxies ({self._queue_filter.qsize()}), checking if proxies meet connection requirements ...'
83-
)
81+
self.logger.info(f'[aProxyRelay] Validating: Proxies ({self._queue_filter.qsize()}), checking if proxies meet connection requirements ...') # noqa: B950
8482
async with ClientSession(conn_timeout=15) as session:
8583
await self._test_all_proxies(session)
86-
self.logger.info(f'Filter: Found {self._filtered_failed} incompetent and {self._filtered_available} available proxy servers in {datetime.now(UTC) - self.started}') # noqa: B950
84+
self.logger.info(f'[aProxyRelay] Filter: Found {self._filtered_failed} incompetent and {self._filtered_available} available proxy servers in {datetime.now(UTC) - self.started}') # noqa: B950
8785
else:
8886
while not self._queue_filter.empty():
8987
_target = self._queue_filter.get()
9088
_target['proxy'] = f"{_target['protocol'].replace('https', 'http')}://{_target['ip']}:{_target['port']}"
9189
self.proxies.put(_target)
92-
self.logger.info('Filter: Skip tests for scraped proxy servers ...')
90+
self.logger.info('[aProxyRelay] Filter: Skip tests for scraped proxy servers ...')
9391

9492
async with ClientSession(conn_timeout=self.timeout) as session:
9593
await self._fetch_proxy_servers(ggs, session)
9694

97-
self.logger.info(f'Scraper: Found {self._filtered_ggs} additional available proxy servers')
98-
self.logger.info(f'Found {self.proxies.qsize()} working proxies, took {datetime.now(UTC) - self.started}, Please wait...')
95+
self.logger.info(f'[aProxyRelay] Scraper: Found {self._filtered_ggs} additional available proxy servers')
96+
self.logger.info(f'[aProxyRelay] Found {self.proxies.qsize()} working proxies, took {datetime.now(UTC) - self.started}, Please wait...') # noqa: B950
9997

10098
async def process_targets(self) -> None:
10199
"""

aproxyrelay/process.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ async def _process_targets_main(self) -> None:
3030
When they fail, we delete them from memory. Once the proxy queue is empty, we look for new proxies
3131
before we continue with our targets.
3232
"""
33-
self.logger.info('Processing ...')
33+
self.logger.info('[aProxyRelay] Processing ...')
3434

3535
async with ClientSession(
3636
connector=ProxyConnector(remote_resolve=True),
@@ -53,7 +53,7 @@ async def _process_targets_main(self) -> None:
5353
# Use asyncio.gather to concurrently execute all tasks
5454
await gather(*tasks)
5555

56-
self.logger.info(f'Processing ({self._queue_target_process.qsize()}) items in Queue ... Please wait...')
56+
self.logger.info(f'[aProxyRelay] Processing ({self._queue_target_process.qsize()}) items in Queue ... Please wait...')
5757

5858
if self.proxies.empty() and self._queue_target_process.qsize() > 0:
5959
await self.get_proxies()

aproxyrelay/req.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def __init__(self) -> None:
2929
"""
3030
Initialize an instance of AProxyRelayRequests.
3131
"""
32-
self.logger.debug("AProxyRelay Request module initialized!")
32+
self.logger.info("[aProxyRelay] Request module initialized!")
3333

3434
async def _fetch_proxy_page(self, urls, session):
3535
"""
@@ -57,7 +57,7 @@ async def _request_proxy_page(self, url, session) -> None:
5757
return
5858

5959
async with session.get(url, headers=self._get_header()) as response:
60-
self.logger.info(f"Scraper: {url}, Status Code: {response.status}")
60+
self.logger.info(f"[aProxyRelay] Scraper: {url}, Status Code: {response.status}")
6161
if response.status == 200:
6262
new_queue = await parser.scrape(parser.zone, response)
6363
while not new_queue.empty():
@@ -151,7 +151,7 @@ async def _request_proxy_servers(self, url, session) -> None:
151151
zone = url.split('zone=')[1].split('&')[0]
152152

153153
async with session.get(url, headers=self._get_header()) as response:
154-
self.logger.info(f"Scraper: {url}, Status Code: {response.status}")
154+
self.logger.info(f"[aProxyRelay] Scraper: {url}, Status Code: {response.status}")
155155
if response.status == 200:
156156
new_queue = await parser.scrape(zone, response)
157157
while not new_queue.empty():
@@ -181,10 +181,13 @@ async def _obtain_targets(self, proxy_url, target, session) -> None:
181181
if status == 200:
182182
self.proxies.put(proxy_url)
183183
data = await response.json()
184-
if pack := self.unpack(data, target):
185-
self._queue_result.put(pack)
184+
if data:
185+
if pack := self.unpack(data, target):
186+
self._queue_result.put(pack)
187+
else:
188+
self.logger.warning(f'[aProxyRelay] Could not unpack data for: {target}')
186189
else:
187-
self.logger.warning(f'Could not unpack data for: {target}')
190+
self.logger.warning(f'[aProxyRelay] Target {target} Data seems to be None: {data}')
188191
else:
189192
self._queue_target_process.put(target)
190193

0 commit comments

Comments
 (0)