사용자 입력을 기반으로 Pixabay에서 이미지를 가져오고,
그 결과 이미지를 보여주는 HTML 파일을 생성하는 Python 코드입니다.
Pixabay API를 활용해서 이미지를 불러오는 파이썬 코드입니다.
원하는 검색어는 직접 입력할 수 있게 했고, 파일은 별도로 저장됩니다.
만든 이유는 앞서 포스팅했던 썸네일 편집기에 이미지 컷을 불러오는 기능을 추가하기 위한 테스트 용입니다.
2024.07.28 - 초간단 썸네일 편집기를 사용하여 멋진 썸네일을 쉽게 만드는 방법
아래 코드에서
API 키값과 저장 경로는 별도로 설정하셔야 합니다.
(궁금한건 댓글 또는 gpt에게 물어보셔요)
import os
import requests
# 사용자로부터 검색어를 입력받습니다.
query = input("검색어를 입력하세요: ")
API_KEY = '직접 받은 키'
url = f'https://pixabay.com/api/?key={API_KEY}&q={query}&image_type=photo'
response = requests.get(url)
data = response.json()
# 검색어를 파일 이름으로 사용하기 위해 안전한 문자열로 변환
safe_query = "".join([c if c.isalnum() else "_" for c in query])
# 명시된 데스크탑 경로
desktop_path = os.path.expanduser('~/Desktop')
# HTML 파일 경로 설정
file_path = os.path.join(desktop_path, f'pixabay_search_results_{safe_query}.html')
html_content = f'''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pixabay Search Results</title>
<style>
body {{ font-family: Arial, sans-serif; }}
.image-container {{ display: flex; flex-wrap: wrap; gap: 20px; }}
.image-item {{ border: 1px solid #ddd; padding: 10px; border-radius: 5px; }}
img {{ max-width: 100%; height: auto; }}
.tags, .user {{ margin-top: 10px; }}
</style>
</head>
<body>
<h1>Pixabay Search Results for "{query}"</h1>
<div class="image-container">
'''
if data['hits']:
for hit in data['hits']:
html_content += f'''
<div class="image-item">
<img src="{hit['webformatURL']}" alt="{hit['tags']}">
<div class="tags"><strong>Tags:</strong> {hit['tags']}</div>
<div class="user"><strong>User:</strong> {hit['user']}</div>
</div>
'''
else:
html_content += '<p>No images found.</p>'
html_content += '''
</div>
</body>
</html>
'''
# 파일 생성
with open(file_path, 'w', encoding='utf-8') as file:
file.write(html_content)
print(f'HTML file created successfully at {file_path}.')