私はGoogle Search APIを使用していますが、何か問題があります。この要求は(Pythonで、要求のライブラリを使用して)構文で罰金Googleカスタム検索APIの予約語
res = requests.get("https://www.googleapis.com/customsearch/v1", params={
"cx": <key1>,
"key": <key2>,
"alt": "json",
"num": 2,
"q": "cat sock ship hero monkey baby match"
})
と戻り結果がdocumentation
に応じしかし、この要求は動作しません動作します。
res = requests.get("https://www.googleapis.com/customsearch/v1", params={
"cx": <key1>,
"key": <key2>,
"alt": "json",
"num": 2,
"q": "cat sock ship hero monkey footnoteref baby match"
})
それこれを返します:
{'kind': 'customsearch#search',
'queries': {'request': [{'count': 2,
'cx': '<key>',
'inputEncoding': 'utf8',
'outputEncoding': 'utf8',
'safe': 'off',
'searchTerms': 'cat sock ship hero monkey baby footnoteref match',
'title': 'Google Custom Search - cat sock ship hero monkey baby footnoteref match',
'totalResults': '0'}]},
'searchInformation': {'formattedSearchTime': '0.22',
'formattedTotalResults': '0',
'searchTime': 0.218722,
'totalResults': '0'},
'spelling': {'correctedQuery': 'cat sock ship hero monkey baby footnote ref match',
'htmlCorrectedQuery': 'cat sock ship hero monkey baby <b><i>footnote ref</i></b> match'},
'url': {'template': 'https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json',
'type': 'application/json'}}
2つのクエリーの唯一の違いそれは後者に "footnoteref"という単語があるということです。ドキュメントでは、この言葉とそのAPIの動作に与える影響については何も見つかりませんでした。何が起こっている?この動作や予約語のリストを無効にする方法はありますか?現時点では、質問から問題の言葉を削除するつもりですが、他の違反する言葉が飛び出すたびに単語を削除するという、奇妙なゲームをするつもりです。
検索しているドメインに、これらの単語がすべて含まれているページがあることは間違いありませんか? google.comに行った場合、検索バーに 'cat sock ship hero monkey footnoteref baby match site:'と入力してください。結果はありますか? –
@MikePatrick私が手でGoogleサイトにこれらの単語を置くと、修正された単語の結果が返されます。しかし、まだ、私はカスタムサイトを検索していない、私は、人間が、サイトなしで行うようにAPIを使用しようとしています。 – user4052054
私は参照してください。私はこれを試してみると、APIエクスプローラ*または* python w/'requests'を使って一つの結果が得られます。ブラウザのクエリに 'site:*'を追加すると、最初は私に空のセットが与えられましたが、今このSOの質問を唯一の結果として返すことに気付きました。 APIを使用すると、私が得た結果は次のとおりです。http://purl.access.gpo.gov/GPO/LPS9006確かに奇妙な動作です。 '' fileType ":" pdf "'を 'params'に追加すると、まだ空になっていますか? –