0

用語を入力する目的でxgooglepythonライブラリを使用しようとしていますが、検索結果がいくつ返されます。これが私のコードです:

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

これは'トレースバック(最後の最後の呼び出し)を返します:

  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''

誰かがこれを結果の数に戻す方法を知っているなら、助けは非常にありがたいです!!! ありがとう!!!

4

2 に答える 2

1

wordsタプルとして渡しています。代わりに、単語をまとめてみてください。

gs = GoogleSearch(word1 + " " + word2)
于 2011-03-08T03:06:13.367 に答える
1

文字列を渡すのが最も簡単です。複数の変数を作成する必要はありません。

gs = GoogleSearch("hello world")

または、複数の変数にバインドされた文字列がある場合は、@ samplebiasが示唆するように、それらを結合できますが、join()は単一のパラメーター(通常はタプル)のみを受け取ることを忘れていました。

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

括弧の余分なペアに注意してください。

于 2011-12-23T22:29:13.913 に答える