Tôi đang làm việc với API tìm kiếm của Google và tôi đang gặp một số sự cố. Yêu cầu này (bằng Python, sử dụng thư viện yêu cầu) hoạt động tốtCác từ dành riêng trong API tìm kiếm tùy chỉnh của Google
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"
})
và trả về kết quả với cú pháp theo documentation
Tuy nhiên, yêu cầu này không hoạt động:
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"
})
nó trả về điều này:
{'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'}}
Sự khác biệt duy nhất giữa hai câu hỏi s là cái sau có từ "footnoteref" trong đó. Tôi không tìm thấy trong tài liệu bất cứ điều gì về từ này và tác động của nó đối với hành vi của API. Điều gì đang xảy ra? Có cách nào để vô hiệu hóa hành vi này hoặc danh sách các từ dành riêng không? Bây giờ, tôi sẽ loại bỏ các từ vi phạm từ truy vấn, nhưng tôi e rằng tôi sẽ chơi một trò chơi whack-a-nốt ruồi để loại bỏ các từ mỗi khi một từ khác xuất hiện.
Bạn hoàn toàn chắc chắn có một trang trong miền bạn đang tìm kiếm chứa tất cả các từ này? Nếu bạn truy cập google.com, hãy đặt 'mèo sock ship hero khỉ footnoteref baby match site:' trong thanh tìm kiếm, bạn có nhận được kết quả nào không? –
@MikePatrick Nếu tôi đặt những từ đó trên trang web của google bằng tay, nó sẽ trả về kết quả cho các từ đã sửa. Nhưng, vẫn còn, tôi không tìm kiếm trong một trang web tùy chỉnh, tôi đang cố gắng sử dụng api như một con người sẽ làm, mà không có một trang web. – user4052054
Tôi hiểu. Tôi nhận được một kết quả duy nhất khi tôi thử điều này, bằng cách sử dụng trình khám phá API * hoặc * python w/'requests'. Tôi đã nhận thấy rằng việc thêm 'site: *' vào truy vấn trong trình duyệt ban đầu cho tôi một tập rỗng, nhưng bây giờ trả về câu hỏi SO này là kết quả duy nhất. Sử dụng API, kết quả duy nhất tôi nhận được là PDF này: http://purl.access.gpo.gov/GPO/LPS9006 Hành vi Odd thực sự. Nếu bạn thêm '" fileType ":" pdf "' vào 'params' của bạn, bạn vẫn còn trống không? –