seawolf2357 commited on
Commit
995b659
·
verified ·
1 Parent(s): a20edbb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -17
app.py CHANGED
@@ -81,24 +81,18 @@ def translate_query(query, country):
81
  def search_serphouse(query, country, page=1, num_result=10):
82
  url = "https://api.serphouse.com/serp/live"
83
 
84
- # 검색어 번역
85
- translated_query = translate_query(query, country)
86
- print(f"Original query: {query}")
87
- print(f"Translated query: {translated_query}")
88
-
89
  payload = {
90
  "data": {
91
- "q": translated_query,
92
  "domain": "google.com",
93
- "loc": country, # 국가 이름 추가
94
- "country_code": COUNTRY_CODES.get(country, "US"),
95
- "lang": "en",
96
  "device": "desktop",
97
  "serp_type": "web", # web으로 변경
98
  "page": "1",
99
  "verbatim": "0",
100
  "gfilter": "0",
101
- "num_result": "10"
102
  }
103
  }
104
 
@@ -108,16 +102,14 @@ def search_serphouse(query, country, page=1, num_result=10):
108
  "authorization": f"Bearer {API_KEY}"
109
  }
110
 
111
- # 디버깅을 위한 출력
112
- print("Full request payload:", json.dumps(payload, indent=2, ensure_ascii=False))
113
-
114
  try:
115
  response = requests.post(url, json=payload, headers=headers)
 
116
  print("Response status:", response.status_code)
117
  print("Response content:", response.text)
118
 
119
  response.raise_for_status()
120
- return {"results": response.json(), "translated_query": translated_query}
121
  except requests.RequestException as e:
122
  error_msg = f"Error: {str(e)}"
123
  if hasattr(response, 'text'):
@@ -132,12 +124,13 @@ def format_results_from_raw(response_data):
132
  results = response_data["results"]
133
  translated_query = response_data["translated_query"]
134
 
135
- news_results = results.get('results', {}).get('organic_results', [])
136
- if not news_results:
 
137
  return "검색 결과가 없습니다.", []
138
 
139
  articles = []
140
- for idx, result in enumerate(news_results, 1):
141
  articles.append({
142
  "index": idx,
143
  "title": result.get("title", "제목 없음"),
@@ -150,6 +143,7 @@ def format_results_from_raw(response_data):
150
  })
151
  return "", articles
152
  except Exception as e:
 
153
  return f"결과 처리 중 오류 발생: {str(e)}", []
154
 
155
  def serphouse_search(query, country):
 
81
  def search_serphouse(query, country, page=1, num_result=10):
82
  url = "https://api.serphouse.com/serp/live"
83
 
 
 
 
 
 
84
  payload = {
85
  "data": {
86
+ "q": query,
87
  "domain": "google.com",
88
+ "loc": country, # 국가 이름 사용
89
+ "lang": COUNTRY_LANGUAGES.get(country, "en"),
 
90
  "device": "desktop",
91
  "serp_type": "web", # web으로 변경
92
  "page": "1",
93
  "verbatim": "0",
94
  "gfilter": "0",
95
+ "num": "10" # num으로 변경
96
  }
97
  }
98
 
 
102
  "authorization": f"Bearer {API_KEY}"
103
  }
104
 
 
 
 
105
  try:
106
  response = requests.post(url, json=payload, headers=headers)
107
+ print("Request payload:", json.dumps(payload, indent=2, ensure_ascii=False))
108
  print("Response status:", response.status_code)
109
  print("Response content:", response.text)
110
 
111
  response.raise_for_status()
112
+ return {"results": response.json(), "translated_query": query}
113
  except requests.RequestException as e:
114
  error_msg = f"Error: {str(e)}"
115
  if hasattr(response, 'text'):
 
124
  results = response_data["results"]
125
  translated_query = response_data["translated_query"]
126
 
127
+ # 응답 구조 변경
128
+ organic_results = results.get('results', {}).get('organic', [])
129
+ if not organic_results:
130
  return "검색 결과가 없습니다.", []
131
 
132
  articles = []
133
+ for idx, result in enumerate(organic_results, 1):
134
  articles.append({
135
  "index": idx,
136
  "title": result.get("title", "제목 없음"),
 
143
  })
144
  return "", articles
145
  except Exception as e:
146
+ print(f"Format error: {str(e)}") # 디버깅용 출력 추가
147
  return f"결과 처리 중 오류 발생: {str(e)}", []
148
 
149
  def serphouse_search(query, country):