Per qualche motivo ottengo un HTTP Error 403: Forbidden
quando provo ad aprire la pagina http://questionablecontent.net
. Ho avuto l'errore robots.txt
, ma è stato risolto. Inoltre, non riesco nemmeno a trovare il loro file robots.txt.Perché la meccanizzazione genera un errore HTTP 403?
Posso ancora visualizzare la pagina Web da Chrome, quindi quello che mi chiedo è: la meccanizzazione ha un aspetto diverso rispetto a Chrome anche dopo aver impostato le intestazioni appropriate?
Ecco il mio codice (che non funziona):
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
Ho anche provato a installare i addheaders alle stesse intestazioni come browser (che ho trovato here):
br.addheaders = [('User-agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36')]
. .. ma non ha funzionato.
Infine, ho provato a utilizzare Selenium e ha funzionato, visto che carica la pagina in chrome e quindi comunica con Python. Tuttavia, mi piacerebbe farlo funzionare con mechanize. Inoltre, non sono ancora sicuro di come chrome e mechanize siano diversi dal loro server.
la tua domanda mi aiuta davvero e ha risolto il mio problema! grazie mille amico – Clement