omkarcloud / botasaurus

The All in One Framework to build Awesome Scrapers.
https://www.omkar.cloud/botasaurus/
MIT License
1.14k stars 103 forks source link

HTTP server ListenAndServe: listen tcp: lookup tcp/: invalid argument #130

Closed drego85 closed 4 weeks ago

drego85 commented 1 month ago

Bye, sometimes when I launch the script I get the following message: HTTP server ListenAndServe: listen tcp: lookup tcp/: invalid argument and consequently failed web acquisition.

The script is started every 15 minutes, so it is not used massively.

The file error.log contains this information:

Traceback (most recent call last):
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/geventhttpclient/connectionpool.py", line 164, in get_socket
    return self._socket_queue.get(block=False)
  File "src/gevent/queue.py", line 335, in gevent._gevent_cqueue.Queue.get
  File "src/gevent/queue.py", line 350, in gevent._gevent_cqueue.Queue.get
  File "src/gevent/queue.py", line 319, in gevent._gevent_cqueue.Queue._Queue__get_or_peek
_queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/client.py", line 485, in execute_request
    resp = self.server.post(
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/geventhttpclient/client.py", line 275, in post
    return self.request(METHOD_POST, request_uri, body=body, headers=headers)
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/geventhttpclient/client.py", line 229, in request
    sock = self._connection_pool.get_socket()
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/geventhttpclient/connectionpool.py", line 167, in get_socket
    return self._create_socket()
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/geventhttpclient/connectionpool.py", line 128, in _create_socket
    raise first_error
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/geventhttpclient/connectionpool.py", line 115, in _create_socket
    sock = self._connect_socket(sock, sock_info[-1])
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/geventhttpclient/connectionpool.py", line 137, in _connect_socket
    sock.connect(address)
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/gevent/_socketcommon.py", line 590, in connect
    self._internal_connect(address)
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/gevent/_socketcommon.py", line 634, in _internal_connect
    raise _SocketError(err, strerror(err))
ConnectionRefusedError: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus/request_decorator.py", line 104, in run_task
    result = func(reqs, data)
  File "offertebest.py", line 173, in amazon_scrap
    response = request.get(url)
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/request_class.py", line 61, in get
    return reqs.get(url, **kwargs)
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/reqs.py", line 339, in get
    return _get(url, *args, **add_redirects(kwargs, True))
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/reqs.py", line 248, in request
    req.send()
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/reqs.py", line 135, in send
    raise e
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/reqs.py", line 132, in send
    self.response = self.session.request(self.method, self.url, **merged_kwargs)
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/session.py", line 192, in request
    proc.send()
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/response.py", line 62, in send
    self.response = self.execute_request()
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/response.py", line 74, in execute_request
    raise e
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/response.py", line 67, in execute_request
    resp = self.session.execute_request(
  File "/home/NO-DISCLOSURE/venv/lib/python3.8/site-packages/botasaurus_requests/client.py", line 490, in execute_request
    raise ClientException('Request failed') from e
botasaurus_requests.exceptions.ClientException: Request failed

Can you help me understand the origin of the problem? The script runs on a virtual machine with Ubuntu Server 20.04.6 LTS.

Thanks

drego85 commented 1 month ago

Sometimes the error is different, for example: HTTP server ListenAndServe: listen tcp: address :�]��: unexpected ']' in address

Chetan11-dev commented 4 weeks ago

I am not sure the reason for error, I can provide 2 solutions:

drego85 commented 4 weeks ago

Thanks for the reply, for now I have switched to Ubuntu Server 22.04 which natively supports Python 3.10. I'll do some testing and update you!