I am writing python to crawl Twitter space using Twitter-py. I have set the crawler to sleep for a while (2 seconds) between each request to api.twitter.com. However, after some times of running (around 1), when the Twitter's rate limit not exceeded yet, I got this error.
[Errno 10054] An existing connection was forcibly closed by the remote host.
What are possible causes of this problem and how to solve this?
I have searched through and found that the Twitter server itself may force to close the connection due to many requests.
Thank you very much in advance.
The 10054 error is raised by the Operating System and reports that an existing connection was forcibly closed by the remote host. You should look at the workload on the execution servers at that location and check the Windows event logs for errors or other activity around the time of the failures.
WinError 10054, An existing connection was forcibly closed by the remote host.
This can be caused by the two sides of the connection disagreeing over whether the connection timed out or not during a keepalive. (Your code tries to reused the connection just as the server is closing it because it has been idle for too long.) You should basically just retry the operation over a new connection. (I'm surprised your library doesn't do this automatically.)
there are many causes such as
To examine the problem in detail, you can use Wireshark.
or you can just re-request or re-connect again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With