Подготовить строку для Google Ajax Search?

1

У меня есть строки, такие как

["Tabula Rasa", "façade", "DJ Tiësto"]

Я получаю доступ к API Ajax Google в Python, используя базовый url:

base = 'http://ajax.googleapis.com/ajax/services/search/web'
   '?v=1.0&q=%s'

У меня проблемы с этими строками, и я заметил, что мне нужно преобразовать определенные символы,

eg. "Tabula Rasa" -->  "Tabula%20Rasa"

Но у меня есть огромный список этих строк, и я не знаю, как я могу автоматически подготовить эту строку для запроса URL.

Любая помощь будет очень оценена.

Теги:
url
google-api
google-ajax-api

1 ответ

2
Лучший ответ

То, что вы ищете, это urllib.quote():

>>> urllib.quote("Tabula Rasa")
'Tabula%20Rasa'

Строки, не содержащие ASCII, возможно, необходимо будет перекодировать в кодировку, ожидаемую API AJAX Google, если у вас их еще нет в той же кодировке.

  • 0
    Спасибо вам большое за ваш ответ. Как бы я продолжил о Unicode символов? Или символы, извлеченные из HTML-страницы?
  • 1
    Если у вас есть Unicode, вам сначала нужно закодировать его в кодировку, ожидаемую API Google AJAX (предположительно, UTF-8, поэтому data.encode('utf-8') .) Если у вас есть символы, извлеченные из HTML-страницы, я Я бы хотел, чтобы они были в строке Unicode - но если они есть в качестве строки байтов, расшифруйте их, используя кодировку, используемую на веб-странице. Затем вы кодируете в правильную кодировку, как любой другой объект Unicode.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню