Библиотека xgoogle не работает с AttributeError - PullRequest
0 голосов
/ 08 марта 2011

Я пытаюсь использовать библиотеку xgoogle python, чтобы ввести термин, и он возвращает количество результатов поиска для него.Вот мой код:

from xgoogle.search import GoogleSearch
word1 = 'aardvark'
word2 = 'ablaze'
words = word1,"",word2
gs = GoogleSearch(words)
num = gs.num_results
print num

Это возвращает 'Traceback (последний вызов был последним):

  File "F:\google whack\SearchTest.py", line 6, in <module>
    num = gs.num_results
  File "C:\Python27\xgoogle\search.py", line 89, in num_results
    page = self._get_results_page()
  File "C:\Python27\xgoogle\search.py", line 189, in _get_results_page
    safe_url = [url % { 'query': urllib.quote_plus(self.query),
  File "C:\Python27\lib\urllib.py", line 1245, in quote_plus
    return quote(s, safe)
  File "C:\Python27\lib\urllib.py", line 1236, in quote
    if not s.rstrip(safe):

AttributeError: 'tuple' object has no attribute 'rstrip''

Если кто-нибудь знает, как заставить это вернуть количество результатов, справкаочень ценится !!!Спасибо !!!

Ответы [ 2 ]

1 голос
/ 24 декабря 2011

Передача строки является самой простой - нет необходимости создавать несколько переменных.

gs = GoogleSearch("hello world")

Или, если у вас есть строки, связанные с несколькими переменными, вы можете присоединиться к ним, как подсказывает @samplebias, хотя он забыл, что join () принимает только один параметр, обычно кортеж.

gs = GoogleSearch(' '.join((word1, word2, word3)))

Обратите внимание на лишнюю пару скобок.

1 голос
/ 08 марта 2011

Вы передаете words как кортеж.Попробуйте вместо этого объединить слова:

gs = GoogleSearch(word1 + " " + word2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...