Come si imposta un valore di timeout per la meccanizzazione di python?come posso impostare un valore di timeout per la meccanizzazione di python?
14
A
risposta
13
Alex è corretto: mechanize.urlopen
prende un argomento timeout
. Pertanto, è sufficiente inserire un numero di seconds in floating point: mechanize.urlopen('http://url/', timeout=30.0)
.
Lo sfondo, dalla sorgente di mechanize.urlopen
:
def urlopen(url, data=None, timeout=_sockettimeout._GLOBAL_DEFAULT_TIMEOUT):
...
return _opener.open(url, data, timeout)
cosa è mechanize._sockettimeout._GLOBAL_DEFAULT_TIMEOUT
si chiede? Sono solo le impostazioni del modulo socket
.
import socket
try:
_GLOBAL_DEFAULT_TIMEOUT = socket._GLOBAL_DEFAULT_TIMEOUT
except AttributeError:
_GLOBAL_DEFAULT_TIMEOUT = object()
3
Se stai usando Python 2.6 o superiore, e una versione aggiornata di conseguenza mechanize
, mechanize.urlopen
dovrebbe accettare un argomento opzionale timeout=...
che sembra essere quello che stai cercando.
1
credo che qualcosa lungo le linee di
mechanize._sockettimeout._GLOBAL_DEFAULT_TIMEOUT = 100
avrà la precedenza sul valore predefinito Mechanize utilizza.
Problemi correlati
- 1. Come impostare il valore di timeout della connessione per pgAdmin?
- 2. Impostare un timeout per la richiesta AndroidSingleUpdate
- 3. Posso impostare un timeout per una funzione read() di InputStream?
- 4. L'imaplib di Python consente di impostare un timeout?
- 5. esiste un valore di timeout per socket.gethostbyname (hostname) in python?
- 6. come impostare il valore di timeout predefinito di savon
- 7. Come impostare il timeout per un TcpClient?
- 8. Ho bisogno di più documentazione di meccanizzazione (python)
- 9. Come impostare il timeout predefinito di Selenium Python WebDriver?
- 10. Ottenere SocketTimeoutExceptions utilizzando loopj AsyncHttpClient ... esiste un valore di timeout che posso impostare?
- 11. Impostare timeout per un'operazione
- 12. Come impostare un timeout per un processo in Windows 7?
- 13. Posso impostare il timeout per UdpClient in C#?
- 14. Come posso impostare un valore di sessione in Capybara?
- 15. Come impostare IHttpAsyncHandler a un timeout?
- 16. CLGeocoder come impostare Timeout?
- 17. Perché la meccanizzazione genera un errore HTTP 403?
- 18. Come impostare il timeout per l'istruzione LINQL di NHibernate
- 19. Come posso impostare la negazione di un valore chiave usando il pacchetto data.table di R?
- 20. Come impostare il timeout per dataWithContentsOfURL: url
- 21. Come impostare timeout di connessione in SQLAlchemy
- 22. Come impostare un timeout di risorse $ condizionale in angularjs?
- 23. Come posso impostare la posizione di scorrimento di un UIScrollView?
- 24. Android: come posso impostare un timeout per i socket SSL per un blocco di lettura/scrittura utilizzando ThreadSafeClientConnectionManager?
- 25. Posso impostare umask per tempfile.NamedTemporaryFile in python?
- 26. Posso impostare un'intestazione con SimpleHTTerver di python?
- 27. Posso impostare un valore di proprietà con Reflection?
- 28. Come impostare un valore predefinito per l'elenco degli articoli?
- 29. Come posso configurare i timeout di TestStack.White?
- 30. Come posso aumentare il timeout per un cronjob/crontab?
buon vecchio 'br.open()' sembra avere un parametro di timeout pure: https://github.com/jjlee/mechanize/blob/b1d786906946f0193051920a7c716b339bd7bf95/mechanize/_mechanize.py#L200 – Mikeumus