Si consideri il seguente codice Python:Perché la Ricerca Google restituisce l'errore HTTP 403?
30 url = "http://www.google.com/search?hl=en&safe=off&q=Monkey" 31 url_object = urllib.request.urlopen(url); 32 print(url_object.read());
Quando questo viene eseguito, viene generata un'eccezione:
File "/usr/local/lib/python3.0/urllib/request.py", line 485, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
Tuttavia, quando questa viene messa in un browser, i rendimenti di ricerca come previsto. Cosa sta succedendo qui? Come posso superare questo, quindi posso cercare Google a livello di programmazione?
Qualche idea?
Hai idea di cosa sta succedendo sotto il cofano? Sono curioso ... perché url.read() non sembra un browser standard letto? – AgentLiquid
che tipo di deficiente voterebbe questo post "offensivo"? –
Invece di passare attraverso le interfacce Web, queste API accedono direttamente all'XML di ricerca. Si connettono a una pagina diversa su Google, che fornisce dati in un formato diverso. Fondamentalmente, stavi ottenendo 403 perché non ti era consentito accedere ai dati come eri e Google lo sapeva (...) –