Переводчик Google предназначен для использования с запросом GET
, а не с запросом POST
. Однако urrllib2
автоматически отправит POST
, если вы добавите какие-либо данные в свой запрос.
Решение состоит в том, чтобы создать URL с помощью строки запроса, поэтому вы будете отправлять GET
.
Вам нужно будет изменить строку request = urllib2.Request('http://www.translate.google.com', urllib.urlencode(data))
вашего кода.
Вот так:
querystring = urllib.urlencode(data)
request = urllib2.Request('http://www.translate.google.com' + '?' + querystring )
И вы получите следующий вывод:
<span id="result_box" class="short_text">
<span title="word" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">
parola
</span>
</span>
Кстати, вы как бы нарушаете условия обслуживания Google; изучите их, если вы делаете больше, чем просто взламываете небольшой сценарий для обучения.
Использование requests
Я настоятельно советую вам по возможности держаться подальше от urllib и использовать превосходную библиотеку requests
, которая позволит вам эффективно использовать HTTP
с Python.