Google에서 문자열 집합을 검색하고 결과의 "예상되는"양을 반환하려면 여기에서 찾은 일부 코드를 사용하고 있습니다. 그 코드는 다음과 같습니다.파이썬으로 Google 검색이 산발적으로 정확하지 않으며 유형 오류가 있습니다.
for a in months:
for b in range(1, daysInMonth[a] + 1):
#Code
if not myString:
googleStats.append(None)
else:
try:
query = urllib.urlencode({'q': myString})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % query
search_response = urllib.urlopen(url)
search_results = search_response.read()
results = json.loads(search_results)
data = results['responseData']
googleStats.append(data['cursor']['estimatedResultCount'])
except TypeError:
googleStats.append(None)
for x in range(0, len(googleStats)):
if googleStats[x] != None:
finalGoogleStats.append(googleStats[x])
두 가지 문제점이있을 수 있습니다. len (finalGoogleStats)을 반환하면 항상 다릅니다. 그것은 37의 한 시간, 그것은 더 (240)
같이해야한다, 그러나 (12)의 형식 오류 내가 꺼낼 때받을 이쪽 시도/제외 : 라인에서 발생
TypeError: 'NoneType' object has no attribute '__getitem__'
googleStats.append(data['cursor']['estimatedResultCount'])
그래서 Google에서는 항상 googleStats의 Nones 수가 변경되는 이유를 알 수 없습니다. 누구든지 아이디어가 있다면, 나는 그 (것)들을 듣고 싶다 감사합니다!
나는 모든 나는 나는 제구 시과의 톤과 매우 몇 가지 실제 JSON 사전을 얻을 찾고 있어요 생각에 대한 데이터를 인쇄하려고 UPDATE. 내가 얻은 사전은 모든 검색에 걸쳐 퍼져 나왔고, 나는 아무 것도없고 어떤 것이 없는지 패턴을 보지 못했습니다. 그래서 문제는 다른 것보다 GoogleAPI와 더 관련이있는 것처럼 보입니다.
왜 캐치'TypeError'을 다음? –
코드를 조금 더 게시해야합니다. 나는이 부분이 루프 안에있을 것으로 기대한다. 그렇지 않으면'len (googleStats)'이 0 또는 1이 될 것이다. 때때로'data [ 'cursor'] [ 'estimatedResultCount']'는'None'이된다 – furins
나는 더 많은 코드를 추가했다. 도움이됩니다. @MartijnPieters, 나는 그것을 처음으로 달렸을 때 생겨 났기 때문에 나는 그것을 잡았다, 나는 그것이 한 두 번만 일어날 것이라고 생각했다. 그러나 그것은 약 400/420 번 일어난다. –