谷歌api python 调用

发布于:2025-02-11 ⋅ 阅读:(84) ⋅ 点赞:(0)

https://programmablesearchengine.google.com/controlpanel/overview?cx=a0fb8aa014b61448d

https://developers.google.com/custom-search/v1/using_rest?hl=zh-cn

api 参数 https://developers.google.com/custom-search/v1/reference/rest/v1/cse/list?hl=zh-cn#request


def google_search(query, api_key, search_engine_id, num_results=10):
    # 构建请求 URL
    url = "https://www.googleapis.com/customsearch/v1"

    # 参数
    params = {
        'q': query,  # 搜索查询
        'key': api_key,  # 您的 API 密钥
        'cx': search_engine_id,  # 您的搜索引擎 ID
        'num': num_results  # 返回的结果数量
    }
    proxy_address = 'http://192.168.3.122:7891'
    proxies = {'http': proxy_address,
               'https': proxy_address}
    # 发送请求
    response = requests.get(url, params=params, proxies=proxies)
    result_items = []
    # 检查请求是否成功
    if response.status_code == 200:
        # 解析 JSON 响应
        results = response.json()
        # return results.get('items', [])
        try:
            data = results
            items = data.get("items", [])


            for item in items:
                result_items.append(
                    ResultItem(
                        title=item.get("title"),
                        link=item.get("link"),
                        snippet=item.get("snippet")
                    )
                )
        except json.JSONDecodeError:
            print("Error decoding JSON response.")
            result_items = []
        return result_items
    else:
        print(f"Error: {response.status_code}")
        print(response.text)
        return []


# 示例使用
if __name__ == "__main__":
    # 替换为您的 API 密钥和搜索引擎 ID
    query = "Python programming"
    search_results = google_search(query)

    print_result_item_list(search_results)


网站公告

今日签到

点亮在社区的每一天
去签到